Compare commits

...

232 Commits
v6.0.1 ... main

Author SHA1 Message Date
dependabot[bot]
88c618023a chore(deps): bump actions/checkout from 4.1.7 to 4.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.7...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-26 07:39:48 +02:00
dependabot[bot]
490836962a chore(deps): bump path-to-regexp from 6.2.1 to 6.3.0
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.1...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-13 06:28:57 +02:00
Joachim Van Herwegen
868275789d fix: Correctly delete data in validate-configs.sh 2024-09-10 07:38:32 +02:00
Joachim Van Herwegen
221dcc41cd chore(release): Release version 7.1.2 of the npm package 2024-08-20 07:39:31 +02:00
elf Pavlik
3e8365bb26
fix: Use full encoded topic iri in streaming http receiveFrom url template
* fix: use full encoded topic iri in streaming http receiveFrom url template

* clean up urls and routing
2024-08-19 08:58:53 +02:00
Joachim Van Herwegen
4599bf413e chore(release): Release version 7.1.1 of the npm package 2024-08-07 09:08:58 +02:00
Joachim Van Herwegen
e15c59c157 chore: Increase jest timeout 2024-08-07 08:53:38 +02:00
Joachim Van Herwegen
b93aa31c93 chore: Use correct markdownlint-cli2 fix command 2024-08-07 08:42:32 +02:00
elf Pavlik
3dd8602acc fix: Ensure streaming HTTP streams the whole notification in a single chunk 2024-08-05 07:51:33 +02:00
Joachim Van Herwegen
576eefede6 docs: Add missing newline 2024-07-19 15:04:51 +02:00
Joachim Van Herwegen
9c44f375f2 docs: Update server architecture documentation 2024-07-19 15:04:50 +02:00
Joachim Van Herwegen
73619fda05 docs: Explain oidc.json 2024-07-19 15:04:50 +02:00
Joachim Van Herwegen
ab419674df docs: Explain WAC vs ACP 2024-07-19 15:04:50 +02:00
Joachim Van Herwegen
ed6f2ec8e9 docs: Explain the provided configs 2024-07-19 15:04:49 +02:00
Joachim Van Herwegen
3aa28fa03b docs: Add test instructions to documentation 2024-07-19 15:04:49 +02:00
Joachim Van Herwegen
e45bce89aa docs: Add more explicit installation instructions 2024-07-19 15:04:48 +02:00
Joachim Van Herwegen
6b8223ba9c chore: Update ts-node 2024-07-19 15:04:09 +02:00
Joachim Van Herwegen
46f5fc239e chore: Depend on external eslint package 2024-07-19 15:04:09 +02:00
Joachim Van Herwegen
ecd031e69f chore: Update lint dependencies 2024-07-19 15:04:09 +02:00
Joachim Van Herwegen
d1282f6b1a chore: Update eslint-plugin-jest dependency 2024-07-19 15:04:09 +02:00
Joachim Van Herwegen
86e8c09e2d chore: Update markdownlint-cli2 dependency 2024-07-19 15:04:09 +02:00
dependabot[bot]
5936aceccd chore(deps): bump ws from 8.14.2 to 8.17.1
Bumps [ws](https://github.com/websockets/ws) from 8.14.2 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.14.2...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 09:29:53 +02:00
dependabot[bot]
1f474a3c8e chore(deps): bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 09:22:52 +02:00
dependabot[bot]
a0ea743449 chore(deps-dev): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-13 07:51:02 +02:00
dependabot[bot]
a402aa6382 chore(deps): bump actions/checkout from 4.1.5 to 4.1.7
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.5...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-13 07:36:00 +02:00
Joachim Van Herwegen
d350c140fd docs: Add missing index for starting the server 2024-06-11 08:58:00 +02:00
Joachim Van Herwegen
556899dbdb docs: Add HTTP streaming notification option to docs 2024-05-24 13:10:20 +02:00
Joachim Van Herwegen
2f10d22c18 chore(release): Release version 7.1.0 of the npm package 2024-05-24 08:41:54 +02:00
elf Pavlik
cb38613b4c
feat: Add support for StreamingHTTPChannel2023 notifications
* feat: initial StremingHTTPChannel2023 notifications

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* test: unit for StremingHTTPChannel2023 notifications

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* test: integration for StremingHTTPChannel2023 notifications

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* emit initial notification on streaming http channel

* fix linting erros

* ensure canceling fetch body in integration tests

* extract defaultChannel for topic into util

* add documentation

* Apply suggestions from code review

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

* only generate notifications when needed

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* test: set body timeout to pass on node >21

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* address review feedback

* remove node 21 workaround

* add architecture documentation

* Apply suggestions from code review

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

---------

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2024-05-22 08:58:26 +02:00
elf Pavlik
203f80020c
chore: update CI node versions
* test: update CI node versions

* Update npm-test.yml

* revert changes to quotes

* 22.0 broken on windows

https://github.com/nodejs/node/issues/52682
2024-05-15 14:20:58 +02:00
dependabot[bot]
f244b288bd chore(deps): bump actions/checkout from 4.1.1 to 4.1.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.1...v4.1.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 14:06:20 +02:00
dependabot[bot]
386babff42 chore(deps): bump ejs from 3.1.9 to 3.1.10
Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.9...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 14:05:58 +02:00
dependabot[bot]
f59b2c2970 chore(deps): bump peaceiris/actions-gh-pages from 3 to 4
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases)
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-24 08:24:55 +02:00
Noel De Martin
07499631b4
fix: Fix .nvmrc version 2024-04-23 08:03:14 +02:00
Joachim Van Herwegen
e20efac3ea fix: Combine metadata with data when generating resources 2024-04-22 09:48:24 +02:00
Joachim Van Herwegen
099897013c fix: Make getParentContainer work with query parameters 2024-04-22 09:13:22 +02:00
Joachim Van Herwegen
f73dfb31c0 fix: Do not reuse the same error in StaticThrowHandler 2024-04-09 08:29:56 +02:00
Joachim Van Herwegen
2846c711ab docs: Fix language
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2024-04-09 08:29:56 +02:00
Joachim Van Herwegen
5e60000681 fix: Make allow headers more accurate 2024-04-09 08:29:56 +02:00
Joachim Van Herwegen
d7078ad692 fix: Expose auxiliary links on errors 2024-04-09 08:29:56 +02:00
Joachim Van Herwegen
419312ee5f feat: Store original target in error metadata 2024-04-09 08:29:56 +02:00
Joachim Van Herwegen
486241f3d4 docs: Fix language
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
cac70b1f88 refactor: Simplify eslint configs 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
7abca33b67 chore: Update @antfu/eslint-config dependency to 2.11.4 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
fa060b86f3 refactor: Remove eslint-disable when possible 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
65bf2bd34e refactor: Enable jsdoc/tag-lines and jsdoc/sort-tags rules 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
3e59aa4b55 refactor: Enable jsdoc/valid-types rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
5fc4ce8f73 refactor: Enable jsdoc/no-types rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
45640a36d6 refactor: Enable import/no-extraneous-dependencies rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
b381a9c926 refactor: Enable ts/no-explicit-any rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
331f83d659 refactor: Enable style/indent-binary-ops rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
73fbe80cff refactor: Enable global-require rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
c96b60d4d3 refactor: Enable callback-return rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
c65096020e refactor: Enable prefer-global rules 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
c24e6d5a18 refactor: Enable consistent-this rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
5c1553bdda refactor: Enable no-unnecessary-type-arguments rule 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
28af181eee refactor: Make no-extra-parens rule stricter 2024-04-02 09:16:51 +02:00
Joachim Van Herwegen
c4df54dd88 chore(release): Release version 7.0.5 of the npm package 2024-03-25 15:11:42 +01:00
Joachim Van Herwegen
6fe6b6ec89 fix: Allow path segments to start with 2 or more dots 2024-03-25 13:51:55 +01:00
Joachim Van Herwegen
33e9ae4191 fix: Add priorities to RDF types when converting 2024-03-14 07:20:08 +01:00
dependabot[bot]
df9062cfc5 chore(deps): bump jose from 4.15.4 to 4.15.5
Bumps [jose](https://github.com/panva/jose) from 4.15.4 to 4.15.5.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v4.15.5/CHANGELOG.md)
- [Commits](https://github.com/panva/jose/compare/v4.15.4...v4.15.5)

---
updated-dependencies:
- dependency-name: jose
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-08 09:38:07 +01:00
Joachim Van Herwegen
8fff08a9b6 fix: Extract root as possible pod when using subdomains 2024-02-28 11:06:30 +01:00
Joachim Van Herwegen
5086f2280b chore: Update nodemailer dependency
6.9.6 had a vulnerability issue
2024-02-15 14:31:10 +01:00
Joachim Van Herwegen
e0e20dc6f5 chore: Update year 2024-02-15 14:25:06 +01:00
Joachim Van Herwegen
2d44d61942 docs: Fix language
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2024-02-15 07:20:43 +01:00
Joachim Van Herwegen
68975e6627 fix: Prevent error when switching accounts 2024-02-15 07:20:43 +01:00
Joachim Van Herwegen
137027e421 fix: Keep content-type when using metadata templates 2024-02-15 06:48:30 +01:00
dependabot[bot]
a9bcc96217 chore(deps): bump nodemailer from 6.9.6 to 6.9.9
Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.9.6 to 6.9.9.
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v6.9.6...v6.9.9)

---
updated-dependencies:
- dependency-name: nodemailer
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 08:16:43 +01:00
Joachim Van Herwegen
f890c769f8 chore(release): Release version 7.0.4 of the npm package 2024-02-07 07:59:30 +01:00
Joachim Van Herwegen
d9a3612f3c docs: Fix issues in notification documentation 2024-01-25 08:50:55 +01:00
Joachim Van Herwegen
a93133fe7c
docs: Add login example to credentials documentation
* docs: Add login example to credentials documentation

* docs: Fix language

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2024-01-18 09:45:47 +01:00
Ted Thibodeau Jr
1e0974f89b
docs: add link to CSS-focused Matrix chatroom to README.md 2024-01-18 09:33:17 +01:00
Joachim Van Herwegen
7d57359613 test: Remove workaround for authn library
This is no longer necessary since dependencies have been updated
2024-01-16 08:49:40 +01:00
Joachim Van Herwegen
e09b53b20d chore: Replace rdf-js import with @rdfjs/types 2024-01-16 08:49:28 +01:00
Joachim Van Herwegen
19f9ef7882 chore: Update @inrupt/solid-client-authn to v2.0.0 2024-01-12 10:17:37 +01:00
Joachim Van Herwegen
820d9b8917 chore: Update @solid/access-token-verifier to v2.1.0 2024-01-12 10:17:37 +01:00
Joachim Van Herwegen
0ad7c19db0
docs: Update release instructions
* docs: Update release instructions

* docs: Fix language

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2024-01-08 09:20:30 +01:00
Joachim Van Herwegen
84d64ac1a2 chore(release): Release version 7.0.3 of the npm package 2024-01-05 11:56:17 +01:00
Joachim Van Herwegen
277a0d0ab7 fix: Encode WebID ownership tokens 2024-01-05 11:12:42 +01:00
Joachim Van Herwegen
4e7929f6d2 fix: Fix pod base URL in README template 2024-01-05 11:12:20 +01:00
Joachim Van Herwegen
a0b7ee42f3 fix: Only require append when creating with PUT 2024-01-05 11:12:07 +01:00
Joachim Van Herwegen
716c3c3089 docs: Explain how to use AppRunner to start a server instance 2024-01-04 14:17:00 +01:00
Joachim Van Herwegen
c6ec45c7c0 feat: Support default mainModulePath when creating App 2024-01-04 14:17:00 +01:00
Joachim Van Herwegen
648ce1fba8 chore: Remove Docker arm builds
These are failing to build due to other issues.
This way at least we still have the default build.
2024-01-04 10:33:09 +01:00
dependabot[bot]
11ce94c199 chore(deps): bump @koa/cors and oidc-provider
Bumps [@koa/cors](https://github.com/koajs/cors) to 5.0.0 and updates ancestor dependency [oidc-provider](https://github.com/panva/node-oidc-provider). These dependencies need to be updated together.


Updates `@koa/cors` from 4.0.0 to 5.0.0
- [Changelog](https://github.com/koajs/cors/blob/master/History.md)
- [Commits](https://github.com/koajs/cors/compare/4.0.0...5.0.0)

Updates `oidc-provider` from 8.4.0 to 8.4.3
- [Release notes](https://github.com/panva/node-oidc-provider/releases)
- [Changelog](https://github.com/panva/node-oidc-provider/blob/main/CHANGELOG.md)
- [Commits](https://github.com/panva/node-oidc-provider/compare/v8.4.0...v8.4.3)

---
updated-dependencies:
- dependency-name: "@koa/cors"
  dependency-type: indirect
- dependency-name: oidc-provider
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-03 10:50:27 +01:00
dependabot[bot]
d4cb6db98d chore(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-03 10:49:42 +01:00
Joachim Van Herwegen
8f74fc82ad test: Run tests on Node 21 2023-12-12 10:03:51 +01:00
Joachim Van Herwegen
3a9b0d69f0 chore: Update linting dependency 2023-12-08 14:24:35 +01:00
dependabot[bot]
6c1c935260 chore(deps): bump actions/stale from 8 to 9
Bumps [actions/stale](https://github.com/actions/stale) from 8 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 08:45:05 +01:00
dependabot[bot]
df84a22c22 chore(deps-dev): bump vite from 4.5.0 to 5.0.5
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.0 to 5.0.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 09:28:59 +01:00
dependabot[bot]
1215157cdd chore(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 09:20:25 +01:00
Joachim Van Herwegen
dca71bc5b8 docs: Explain that users need to log in for client credentials 2023-11-28 09:44:38 +01:00
Joachim Van Herwegen
1f888645d6 docs: Fix links 2023-11-28 09:43:35 +01:00
Joachim Van Herwegen
c64a1a241d
docs: Describe server feature set
* docs: Describe server feature set

* docs: Fix language

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ruben Verborgh <ruben@verborgh.org>

* docs: Emphasize parts of feature documentation

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
2023-11-27 08:58:10 +01:00
Jan
355f7dd1c7
docs: Fix Typo is -> if 2023-11-27 08:29:00 +01:00
Joachim Van Herwegen
1234acc0e1 chore(release): Release version 7.0.2 of the npm package 2023-11-20 09:40:16 +01:00
Joachim Van Herwegen
5f85441b6e fix: Add query parameter to static resources
This ensures these resources are fetched again after the v7 changes.
2023-11-20 09:20:21 +01:00
Joachim Van Herwegen
6c30a2512b fix: Update resource size in ConstantConverter 2023-11-20 09:16:34 +01:00
Joachim Van Herwegen
4318479154 fix: Prevent errors in JSON storage when data is invalid 2023-11-20 09:16:02 +01:00
Joachim Van Herwegen
2f928bd2d4 fix: Prevent errors during migration for invalid JSON 2023-11-20 09:16:02 +01:00
Joachim Van Herwegen
01623e0b5c
docs: Explain storage/location import options
* docs: Explain storage/location import options

* docs: Fix language

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2023-11-17 11:26:54 +01:00
Joachim Van Herwegen
15a929a87e
docs: Fix outdated information in IDP documentation (#1773)
* docs: Fix outdated information in IDP documentation

* docs: Fix language

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2023-11-13 09:14:40 +01:00
Wouter Termont
86f45923ba
feat: Add index signature to Credentials
* feat: abstract Credentials type for Authorizer

* feat: abstract Credentials type in CredentialsExtractor & PermissionReader

* chore: typegraphical corrections in documentation

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

* fix: remove accidental .js extension

* feat: also check for undefined credentials when deciding 401/404

* docs: corrections to code documentation

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

* fix: revert abstraction & index signature to Credentials

* chhore: fix linter issues

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2023-11-10 08:10:10 +01:00
Joachim Van Herwegen
e7d8081aff chore: Remove test files
These were accidentally added
2023-11-09 14:15:16 +01:00
Joachim Van Herwegen
1597a5a578 fix: Disable submit buttons until form data is loaded 2023-11-09 08:22:12 +01:00
Joachim Van Herwegen
4d05fe4315
docs: Explain the patching store in-depth
* docs: Explain the patching store in-depth

* docs: Fix language in patching documentation

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2023-11-07 09:07:44 +01:00
Joachim Van Herwegen
261c3d05a6 fix: Undo util.js errors introduced when changing lint settings 2023-11-07 08:59:17 +01:00
Joachim Van Herwegen
edbf895505 chore: Update to TypeScript 5.2.2
tsconfig has to be different for tests due to cjs/esm issues with jest.
Deploy scripts need to use the original tsconfig though,
which is why we have the current nested tsconfigs.
2023-11-02 10:51:29 +01:00
Joachim Van Herwegen
9cc4a9ce4d chore: Fix Dockerfile to Node v18 to prevent build issues
See https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1761
2023-11-02 10:14:07 +01:00
Joachim Van Herwegen
cd1daaecc1 refactor: Split up eslint configurations 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
c2a84b6592 refactor: Prevent default parameters for objects 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
98f5d8fb73 refactor: Prevent negated conditions 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
c9e4c7041c refactor: Prevent for-each calls 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
20d4a0c3af refactor: Prevent reduce calls 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
990184dbb5 refactor: Use node protocol when importing builtins 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
def0b5c732 refactor: Enable consistent newlines in lists 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
3bb3004abb refactor: Bring lint config back to original strictness 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
7a007dc466 refactor: Enable stricter test linting 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
6248ed0938 refactor: Replace linting configurations
The previous package was outdated, preventing us from updating TS.
This one also lints YAML and JSON,
and applies many more rules to the test files,
explaining all the changes in this PR.
2023-11-02 09:49:17 +01:00
Wouter Termont
58daeb684f
feat: pass requestedModes metadata on 401
* feat: pass requestedModes metadata on 401

* fix: bundle modes per target bnode

* fix: use custom instance check for HttpError
2023-10-27 09:23:36 +02:00
dependabot[bot]
04711b112b chore(deps): bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-24 09:09:57 +02:00
Joachim Van Herwegen
6f341a839f chore(release): Release version 7.0.1 of the npm package 2023-10-20 16:00:49 +02:00
Joachim Van Herwegen
61b8d4a7e8 docs: Fix incorrect variable in documentation 2023-10-20 15:14:38 +02:00
Joachim Van Herwegen
762d703df7 docs: Update v6 references 2023-10-20 10:33:35 +02:00
Joachim Van Herwegen
f1fdbb05b2 fix: Remove duplicate identifier reference when disabling accounts 2023-10-19 15:17:39 +02:00
dependabot[bot]
3e4b8f7dd7 chore(deps): bump actions/checkout from 4.1.0 to 4.1.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 11:20:08 +02:00
Joachim Van Herwegen
28dbfead78 chore(release): Release version 7.0.0 of the npm package 2023-10-19 09:22:10 +02:00
Joachim Van Herwegen
6eaaa42015 chore(release): Update configs to v7.0.0 2023-10-19 09:13:48 +02:00
Joachim Van Herwegen
c276904c90 chore(deps-dev): bump @babel/traverse from 7.23.0 to 7.23.2 2023-10-19 08:56:53 +02:00
Joachim Van Herwegen
92a0856da6 refactor: Use one identifier to reference main template engine 2023-10-12 13:58:53 +02:00
Joachim Van Herwegen
70556d2a8e docs: Mention migration is based on default configs 2023-10-12 09:45:02 +02:00
Joachim Van Herwegen
9321addafa feat: Add config option to enable account and pod creation 2023-10-11 18:11:48 +02:00
Joachim Van Herwegen
851eafd1d1 refactor: Sort default config imports 2023-10-11 16:52:52 +02:00
Joachim Van Herwegen
8f2ccb7b41 chore: Update devDependencies 2023-10-11 16:25:49 +02:00
Joachim Van Herwegen
f932cf4b22 chore: Update dependencies 2023-10-11 16:25:49 +02:00
Joachim Van Herwegen
cf411e13fb docs: Mention account entrypoint in release notes 2023-10-11 13:09:17 +02:00
Joachim Van Herwegen
862ac4867b refactor: Move single IDP configurations into one folder 2023-10-11 13:04:28 +02:00
Joachim Van Herwegen
607c04ff28 refactor: Rename WebIdAdapterFactory to ClientIdAdapterFactory 2023-10-11 13:01:36 +02:00
Joachim Van Herwegen
7a44581406 fix: Ensure setup values are migrated correctly 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
b65b72a25e docs: Update migration documentation 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
9daeaf89ac feat: Update migration to clear all old non-account data
This is necessary to support the new internal format
2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
f954fc9450 fix: Be consistent in slash usage in storages 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
b5a61cbb08 feat: Use new MaxKeyLengthStorage to prevent keys that are too long 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
e1c5189cb8 feat: Remove base64 encoding from storages 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
16378ec470 fix: Encode notification keys before accessing the storage
This to prevent issues when a storage is used that does not encode
2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
75048172df fix: Make sure stored tokens expire 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
2914fd7d60 fix: Update generated keys in ExpiringAdapterFactory to prevent overlap
If the keys were not encoded there could be an issue
where there were 2 similar keys `grant/123` and `Grant/123`.
2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
7684198b53 fix: Fix issue in warning on pod settings HTML page 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
b54c6b97b7 feat: Support all notification methods in all default configs 2023-10-10 16:08:53 +02:00
Joachim Van Herwegen
864dd7c2e0 feat: Add support for initializing a server with a root pod 2023-10-09 09:57:25 +02:00
Joachim Van Herwegen
764b392b2b feat: Link to the account page in the pod README 2023-10-09 09:57:25 +02:00
Joachim Van Herwegen
010017a141 feat: Update configurations so ldp/accounts/oidc can be disabled 2023-10-09 09:10:34 +02:00
Joachim Van Herwegen
0ac7d407bf feat: Add migration for v6 account data 2023-10-06 12:54:26 +02:00
Joachim Van Herwegen
fedd9e04d8 feat: Allow ConditionalHandler to set the expected value 2023-10-06 12:54:26 +02:00
Joachim Van Herwegen
42a1ca7b64 feat: Create PodCreator class to contain most pod creation logic 2023-10-06 11:05:01 +02:00
Joachim Van Herwegen
3bfd9e3298 fix: Add links on account page 2023-10-06 11:05:00 +02:00
Joachim Van Herwegen
307dba3219 fix: Rename cookie field to authorization 2023-10-06 11:05:00 +02:00
Joachim Van Herwegen
cd07338ce7 feat: Add support for pod owners 2023-10-06 11:04:59 +02:00
Joachim Van Herwegen
4230db5038 feat: Use IndexedStorage to store account data 2023-10-06 11:04:58 +02:00
Joachim Van Herwegen
a47f5236ef feat: Full rework of account management
Complete rewrite of the account management and related systems.
Makes the architecture more modular,
allowing for easier extensions and configurations.
2023-10-06 11:04:40 +02:00
Joachim Van Herwegen
ade977bb4f feat: Move storage location decision to separate import 2023-10-06 10:11:59 +02:00
Joachim Van Herwegen
5eff035cb3 feat: Remove setup 2023-10-06 10:11:59 +02:00
Joachim Van Herwegen
ea83ea59a1 feat: Update StaticAssetHandler to allow for easier overrides 2023-10-06 10:11:58 +02:00
dependabot[bot]
a8b5d5eb45 chore(deps-dev): bump @tsconfig/node18 from 2.0.1 to 18.2.2
Bumps [@tsconfig/node18](https://github.com/tsconfig/bases/tree/HEAD/bases) from 2.0.1 to 18.2.2.
- [Commits](https://github.com/tsconfig/bases/commits/HEAD/bases)

---
updated-dependencies:
- dependency-name: "@tsconfig/node18"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 09:00:11 +02:00
Joachim Van Herwegen
531c299c7b refactor: Rename WebHook to Webhook 2023-10-06 08:39:42 +02:00
Joachim Van Herwegen
1e3684bcf3 fix: Update supported DPoP algorithms to run CTH 2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
180d5f131e fix: Add workaround for authn library issue 2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
cccca96d28 test: Workaround for Jest dynamic import issues
Dynamic imports cause segmentation faults with Jest:
https://github.com/nodejs/node/issues/35889.
We work around this by handling imports in IdentityProviderFactory
differently when Jest is running.
For unit tests we use a different tsconfig
that transpiles dynamic imports differently,
as those are also used in AppRunner.
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
bfa70a40aa test: Workaround for Jest ESM issues
To prevent issues with Jest and ESM
we transform all ESM dependencies to CJS while testing.
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
b3ef4ed017 fix: Use local file for oidc-provider typings
Due to v8 of oidc-provider being ESM,
we can't use the typings directly because of a TS bug:
https://github.com/microsoft/TypeScript/issues/49721.
This works around that.
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
7024ee9a58 feat: Update oidc-provider to v8
The new version is an ESM package,
so we need to do a dynamic import as our package is CJS.
To correctly transpile the dynamic import,
moduleResolution needs to be set to node16.
See https://github.com/microsoft/TypeScript/issues/43329
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
b0d7342b39 Merge branch 'main' into versions/next-major 2023-10-06 08:11:21 +02:00
Joachim Van Herwegen
9bf734817d test: Remove test tmp folder after all tests are finished 2023-10-06 08:10:28 +02:00
Joachim Van Herwegen
3a57e88229 test: Stop cleaning up folders after quota test to prevent CI issues 2023-10-06 08:10:28 +02:00
Joachim Van Herwegen
b9208caad2 chore: Remove contributors field
It keeps changing and being out of date all the time anyway
2023-10-05 15:29:43 +02:00
Joachim Van Herwegen
e0c1baeb43 chore: Make Node v18 the minimum supported version 2023-10-05 15:26:56 +02:00
Joachim Van Herwegen
43be71e4a2 chore: Test Node v20 2023-10-05 15:26:56 +02:00
Joachim Van Herwegen
c95198285c Merge branch 'main' into versions/next-major 2023-10-05 14:28:06 +02:00
Joachim Van Herwegen
5c0c54c31c chore(release): Release version 6.1.0 of the npm package 2023-10-05 13:15:48 +02:00
Joachim Van Herwegen
fdb39f6df4 docs: Add v6.1.0 features to RELEASE_NOTES.md 2023-10-05 13:15:44 +02:00
Joachim Van Herwegen
da46becf7a fix: Prevent error when creating a root pod 2023-10-05 13:04:33 +02:00
Joachim Van Herwegen
44f731d7e7 test: Initialize empty pods when testing quota
Another attempt to help fix random CI integration test failures
2023-10-05 11:04:01 +02:00
Joachim Van Herwegen
71e55690f3 feat: Track binary size of resources when possible 2023-10-05 10:07:49 +02:00
Joachim Van Herwegen
3e9adef4cf feat: Add support for range headers 2023-10-05 10:07:49 +02:00
Joachim Van Herwegen
db66e3df75 test: Consistently clean up folder before stopping server
There seems to be some integration tests that sometimes fail
on tests where the order is reversed.
Hopefully this resolves the problem.
2023-10-05 10:04:29 +02:00
Ruben Verborgh
d618f9781a docs: Simplify README by pointing to our docs. 2023-10-05 09:20:39 +02:00
Ruben Verborgh
e424b84882 docs: Add starting guide. 2023-10-05 09:20:39 +02:00
Ruben Verborgh
1fa6d248a2 docs: Add quick start to README. 2023-10-05 09:20:39 +02:00
Joachim Van Herwegen
d31393f475 fix: Remove URL encoding from base64 strings before decoding 2023-10-05 09:12:10 +02:00
Joachim Van Herwegen
3ade2ad795 feat: Introduce IndexedStorage for a more extensive storage solution 2023-09-26 09:42:39 +02:00
Joachim Van Herwegen
661357c985 chore: Remove eslint rule about deleting dynamic keys 2023-09-26 09:42:39 +02:00
dependabot[bot]
4f095243df chore(deps): bump actions/checkout from 4.0.0 to 4.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 08:47:50 +02:00
Joachim Van Herwegen
154d981684 feat: Split up EncodingPathStorage functionality into different classes 2023-09-20 11:13:56 +02:00
dependabot[bot]
0a7a9b21a2 chore(deps): bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 08:56:05 +02:00
dependabot[bot]
9ba85c710b chore(deps): bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 08:55:55 +02:00
dependabot[bot]
1971351391 chore(deps): bump docker/metadata-action from 4 to 5
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4 to 5.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md)
- [Commits](https://github.com/docker/metadata-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 08:55:48 +02:00
dependabot[bot]
89e48e7f3f chore(deps): bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 08:55:38 +02:00
dependabot[bot]
b86c3b4dee chore(deps): bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 08:55:31 +02:00
dependabot[bot]
9bdaa7949e chore(deps): bump actions/checkout from 3.6.0 to 4.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 09:32:32 +02:00
Joachim Van Herwegen
a35500314b chore(release): Release version 6.0.2 of the npm package 2023-08-30 09:28:01 +02:00
surilindur
b1c360409d chore: Fix typo in test description 2023-08-30 09:11:52 +02:00
surilindur
9e682f5c4f feat: Have FixedContentTypeMapper ignore .meta 2023-08-28 14:56:28 +02:00
Joachim Van Herwegen
43e8ef99b0 fix: Return WAC-Allow header in 304 responses 2023-08-28 09:06:39 +02:00
Joachim Van Herwegen
baa64987c6 fix: Return ETag in 304 responses 2023-08-28 09:06:39 +02:00
Joachim Van Herwegen
afcbfdaacf feat: Use ETagHandler for ETag generation and comparison 2023-08-28 09:06:39 +02:00
Joachim Van Herwegen
5ec6eddbfa refactor: Move condition classes to separate folder 2023-08-28 09:06:39 +02:00
Joachim Van Herwegen
b608080d5f feat: Store ETag in metadata 2023-08-28 09:06:39 +02:00
Joachim Van Herwegen
0245b31e0c feat: Add error causes to error serializations 2023-08-28 09:06:39 +02:00
Joachim Van Herwegen
7505f07f2f fix: Add missing error causes 2023-08-28 09:06:39 +02:00
Joachim Van Herwegen
f373dff1d7 feat: Add metadata to errors 2023-08-28 09:06:39 +02:00
dependabot[bot]
d401cc862b chore(deps): bump actions/checkout from 3.5.3 to 3.6.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.3...v3.6.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-25 08:49:14 +02:00
smessie
0f79fa5ffa ci: Add linux/arm64/v8 as platform to support Apple Silicon architectures 2023-08-17 09:10:26 +02:00
dependabot[bot]
a333412e19 chore(deps): bump fetch-sparql-endpoint from 3.2.1 to 4.0.0
Bumps [fetch-sparql-endpoint](https://github.com/rubensworks/fetch-sparql-endpoint.js) from 3.2.1 to 4.0.0.
- [Changelog](https://github.com/rubensworks/fetch-sparql-endpoint.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubensworks/fetch-sparql-endpoint.js/compare/v3.2.1...v4.0.0)

---
updated-dependencies:
- dependency-name: fetch-sparql-endpoint
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 10:52:51 +02:00
Joachim Van Herwegen
c2ab32baed chore: Update description for questions 2023-07-27 09:55:41 +02:00
Joachim Van Herwegen
a18e716f97 chore: Link to discussions when choosing issue template 2023-07-27 09:54:34 +02:00
Joachim Van Herwegen
4f17f2baac Merge branch 'main' into versions/next-major 2023-07-25 09:43:15 +02:00
Joachim Van Herwegen
6fc3f2cf4f test: Clear test data folder before running tests 2023-07-20 17:10:14 +02:00
Joachim Van Herwegen
f419f2f28d test: Enable file locker in notification tests 2023-07-20 17:10:14 +02:00
Joachim Van Herwegen
d0e01472b9 chore: Increase retry timer when validating configs 2023-07-20 17:04:39 +02:00
Joachim Van Herwegen
9c2c5edaf5
feat: Ignore invalid header parts
* patch: initial ideas around how to ignore invalid accept header parts. not fully tested, plenty of cleanup to do

* patch: finish removing commented code. finalize unit tests for headerUtil methods that now ignore bad header parts rather than throwing as before

* patch: remove @throws comments in HeaderUtil and update some comments to account for changes to returned values

* feat: Give option for header parsing to be strict

---------

Co-authored-by: Charlie Blevins <blevins.charlie@gmail.com>
2023-07-20 15:27:20 +02:00
Joachim Van Herwegen
e921d62630 fix: Make all ways to start the server more consistent 2023-07-20 09:48:54 +02:00
Joachim Van Herwegen
6f6784a288 fix: Do not show PUT in Allow header for existing containers 2023-07-20 09:48:42 +02:00
Joachim Van Herwegen
a47cc8a5ee fix: Store activity streams context locally 2023-07-20 09:48:31 +02:00
dependabot[bot]
13a0f0d3ab chore(deps-dev): bump word-wrap from 1.2.3 to 1.2.4
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-20 09:38:36 +02:00
Joachim Van Herwegen
9cb0127e2b docs: Explain that pod quota is for the entire pod 2023-07-18 11:56:23 +02:00
dependabot[bot]
b7f4f1bd51 chore(deps): bump cross-fetch from 3.1.5 to 4.0.0
Bumps [cross-fetch](https://github.com/lquixada/cross-fetch) from 3.1.5 to 4.0.0.
- [Release notes](https://github.com/lquixada/cross-fetch/releases)
- [Changelog](https://github.com/lquixada/cross-fetch/blob/v4.x/CHANGELOG.md)
- [Commits](https://github.com/lquixada/cross-fetch/compare/v3.1.5...v4.0.0)

---
updated-dependencies:
- dependency-name: cross-fetch
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 09:00:51 +02:00
dependabot[bot]
02e122c6d9 chore(deps-dev): bump nodemon from 2.0.22 to 3.0.1
Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.22 to 3.0.1.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v2.0.22...v3.0.1)

---
updated-dependencies:
- dependency-name: nodemon
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 08:54:30 +02:00
Joachim Van Herwegen
fbe60371b9 docs: Update Code of Conduct to list committee members 2023-06-29 09:23:22 +02:00
Jesse Wright
937c41fd17
chore: Name HTTP handlers
* chore: name http handlers

* Update config/http/handler/simple.json

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

---------

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2023-06-21 10:45:47 +02:00
Joachim Van Herwegen
36ff95e6b2 feat: StaticAssetHandler can link a container to a document 2023-06-06 09:18:29 +02:00
Joachim Van Herwegen
0c90d18072 chore: Update RELEASE_NOTES template for v7 2023-06-06 09:18:29 +02:00
dependabot[bot]
b3fe2afbad chore(deps-dev): bump eslint-plugin-jest from 26.1.3 to 27.2.1
Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 26.1.3 to 27.2.1.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v26.1.3...v27.2.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 13:53:48 +02:00
1092 changed files with 40341 additions and 19651 deletions

View File

@ -11,6 +11,7 @@
"ChangeMap",
"CredentialSet",
"Dict",
"EmptyObject",
"Error",
"EventEmitter",
"FetchDocumentLoader",
@ -18,12 +19,16 @@
"HashMap",
"HttpErrorOptions",
"HttpResponse",
"IndexTypeCollection",
"IdentifierMap",
"IdentifierSetMultiMap",
"interactionPolicy.DefaultPolicy",
"NodeJS.Dict",
"NotificationChannelType",
"Omit",
"PermissionMap",
"Promise",
"Readable",
"Readonly",
"RegExp",
"Server",
@ -31,9 +36,12 @@
"Shorthand",
"Template",
"TemplateEngine",
"Transform",
"TransformOptions",
"ValuePreferencesArg",
"VariableBindings",
"UnionHandler",
"VirtualObject",
"WinstonLogger",
"WrappedSetMultiMap",
"YargsOptions"

View File

@ -1,150 +0,0 @@
/* eslint-disable @typescript-eslint/naming-convention */
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
parserOptions: {
tsconfigRootDir: __dirname,
project: [ './tsconfig.json', './test/tsconfig.json', './scripts/tsconfig.json' ],
},
// Ignoring js files (such as this one) since they seem to conflict with rules that require typing info
ignorePatterns: [ '*.js' ],
globals: {
AsyncIterable: 'readonly',
NodeJS: 'readonly',
RequestInit: 'readonly',
},
plugins: [
'tsdoc',
'import',
'unused-imports',
],
extends: [
'es/node',
'eslint:recommended',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:import/typescript',
],
settings: {
'import/resolver': {
typescript: {
// Always try to resolve types under `<root>@types` directory
// even it doesn't contain any source code, like `@types/rdf-js`
alwaysTryTypes: true,
},
},
},
rules: {
// There are valid typing reasons to have one or the other
'@typescript-eslint/consistent-type-definitions': 'off',
'@typescript-eslint/lines-between-class-members': [ 'error', { exceptAfterSingleLine: true }],
'@typescript-eslint/no-empty-interface': 'off',
// Breaks with default void in AsyncHandler 2nd generic
'@typescript-eslint/no-invalid-void-type': 'off',
// Problems with optional parameters
'@typescript-eslint/no-unnecessary-condition': 'off',
'@typescript-eslint/prefer-optional-chain': 'error',
'@typescript-eslint/promise-function-async': [ 'error', { checkArrowFunctions: false } ],
'@typescript-eslint/space-before-function-paren': [ 'error', 'never' ],
'@typescript-eslint/unbound-method': 'off',
'@typescript-eslint/unified-signatures': 'off',
// Conflicts with functions from interfaces that sometimes don't require `this`
'class-methods-use-this': 'off',
'comma-dangle': [ 'error', 'always-multiline' ],
'dot-location': [ 'error', 'property' ],
'eslint-comments/disable-enable-pair': 'off',
// Allow declaring overloads in TypeScript (https://eslint.org/docs/rules/func-style)
'func-style': [ 'error', 'declaration' ],
'generator-star-spacing': [ 'error', 'after' ],
// Conflicts with padded-blocks
'lines-around-comment': 'off',
'lines-between-class-members': [ 'error', 'always', { exceptAfterSingleLine: true }],
'max-len': [ 'error', { code: 120, ignoreUrls: true }],
// Used for RDF constants
'new-cap': 'off',
// Necessary in constructor overloading
'no-param-reassign': 'off',
// Checked by @typescript-eslint/no-redeclare
'no-redeclare': 'off',
// Conflicts with external libraries
'no-underscore-dangle': 'off',
// Already checked by @typescript-eslint/no-unused-vars
'no-unused-vars': 'off',
'padding-line-between-statements': 'off',
'prefer-named-capture-group': 'off',
// Already generated by TypeScript
strict: 'off',
'tsdoc/syntax': 'error',
'unicorn/catch-error-name': 'off',
'unicorn/import-index': 'off',
'unicorn/import-style': 'off',
// The next 2 some functional programming paradigms
'unicorn/no-array-callback-reference': 'off',
'unicorn/no-fn-reference-in-iterator': 'off',
'unicorn/no-object-as-default-parameter': 'off',
'unicorn/numeric-separators-style': 'off',
// At function only supported in Node v16.6.0
'unicorn/prefer-at': 'off',
// Does not make sense for more complex cases
'unicorn/prefer-object-from-entries': 'off',
// Only supported in Node v15
'unicorn/prefer-string-replace-all' : 'off',
// Can get ugly with large single statements
'unicorn/prefer-ternary': 'off',
'yield-star-spacing': [ 'error', 'after' ],
// Need to use the typescript version of this rule to support overloading
"no-dupe-class-members": "off",
"@typescript-eslint/no-dupe-class-members": ["error"],
// Naming conventions
'@typescript-eslint/naming-convention': [
'error',
{
selector: 'default',
format: [ 'camelCase' ],
leadingUnderscore: 'forbid',
trailingUnderscore: 'forbid',
},
{
selector: 'variable',
format: [ 'camelCase', 'UPPER_CASE' ],
leadingUnderscore: 'forbid',
trailingUnderscore: 'forbid',
},
{
selector: 'typeLike',
format: [ 'PascalCase' ],
},
{
selector: [ 'typeParameter' ],
format: [ 'PascalCase' ],
prefix: [ 'T' ],
},
],
// Import
'@typescript-eslint/consistent-type-imports': [ 'error', { prefer: 'type-imports' }],
// Disabled in favor of eslint-plugin-import
'sort-imports': 'off',
'import/order': [ 'error', {
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
}],
'import/no-duplicates': 'error',
'import/no-extraneous-dependencies': 'error',
'import/no-named-as-default': 'off',
// Doesn't work with type imports
'no-duplicate-imports': 'off',
'unused-imports/no-unused-imports-ts': 'error',
},
overrides: [
{
files: '*.js',
parser: 'espree',
},
],
};

View File

@ -1,14 +1,14 @@
'use strict';
const options = require('../.markdownlint-cli2.cjs');
"use strict";
module.exports = {
globs: [ "**/*.md" ],
globs: [ '**/*.md' ],
config: {
// Re-use the base config
...options.config,
// Allow first line to not be top level heading
MD041: false
}
MD041: false,
},
};

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: ❓ Question
url: https://github.com/CommunitySolidServer/CommunitySolidServer/discussions/new/choose
about: A question or discussion about the server

View File

@ -1,13 +0,0 @@
---
name: "❓ Question"
about: A general question
title: ''
labels: ''
assignees: ''
---
#### Question
<!-- Questions are usually better suited for discussions, which can be found at https://github.com/CommunitySolidServer/CommunitySolidServer/discussions -->
<!-- In case you think this would better as an issue, please provide a clear and concisely formulated question.-->

View File

@ -1,33 +1,33 @@
version: 2
updates:
- package-ecosystem: "github-actions"
- package-ecosystem: github-actions
directory: /
schedule:
interval: "daily"
time: "02:13"
timezone: "Europe/Brussels"
interval: daily
time: '02:13'
timezone: Europe/Brussels
labels:
- "⚙️ dependencies"
- package-ecosystem: "npm"
- ⚙️ dependencies
- package-ecosystem: npm
directory: /
schedule:
interval: "daily"
time: "03:35"
timezone: "Europe/Brussels"
target-branch: "versions/next-major"
interval: daily
time: '03:35'
timezone: Europe/Brussels
target-branch: versions/next-major
ignore:
# Ignore minor and patch version updates
- dependency-name: "*"
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: '*'
update-types: ['version-update:semver-minor', 'version-update:semver-patch']
# Sticking with Husky 4.x
- dependency-name: "husky"
- dependency-name: husky
labels:
- "⚙️ dependencies"
- package-ecosystem: "docker"
- ⚙️ dependencies
- package-ecosystem: docker
directory: /
schedule:
interval: "daily"
time: "04:22"
timezone: "Europe/Brussels"
interval: daily
time: '04:22'
timezone: Europe/Brussels
labels:
- "⚙️ dependencies"
- ⚙️ dependencies

View File

@ -38,11 +38,11 @@ jobs:
timeout-minutes: 10
steps:
- name: Use Node.js 16.x
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16.x
- name: Check out the project
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.2.0
with:
ref: ${{ inputs.branch || github.ref }}
- name: Install dependencies and run build scripts
@ -52,7 +52,7 @@ jobs:
- name: Create the necessary folders
run: mkdir -p reports/css
- name: Pull the conformance harness docker
run: "docker pull solidproject/conformance-test-harness:${{ inputs.version }}"
run: 'docker pull solidproject/conformance-test-harness:${{ inputs.version }}'
- name: Wait until the server has started
run: >
curl --output /dev/null --silent --head --fail --retry 30
@ -78,13 +78,13 @@ jobs:
branch-name: ${{ inputs.branch || github.head_ref }}
- name: Save the reports
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} reports
path: reports
- name: Save the server output
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} server output
path: server-output.log

View File

@ -21,15 +21,15 @@ jobs:
tags: ${{ steps.meta-main.outputs.tags || steps.meta-version.outputs.tags }}
steps:
- name: Checkout
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.2.0
- if: startsWith(github.ref, 'refs/tags/v') || (github.ref == 'refs/heads/main')
name: Docker meta edge and version tag
id: meta-main
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: |
solidproject/community-server
# edge will always be executed (without latest tag), semver only on tag push events (with latest tag)
# Edge will always be executed (without latest tag), semver only on tag push events (with latest tag)
tags: |
type=edge
type=semver,pattern={{version}}
@ -39,7 +39,7 @@ jobs:
- if: startsWith(github.ref, 'refs/heads/versions/')
name: Docker meta next
id: meta-version
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: |
solidproject/community-server
@ -55,25 +55,25 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.2.0
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and export to docker
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
load: true
tags: ${{ needs.docker-meta.outputs.tags }}
labels: ${{ needs.docker-meta.outputs.labels }}
- name: "Test all docker-built image tags"
- name: Test all docker-built image tags
shell: bash
# Loop over all generated image:tag names and docker run them.
# If they aren't built previously, the command will error.
@ -85,10 +85,10 @@ jobs:
done <<< "${{ needs.docker-meta.outputs.tags }}";
- name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64,linux/arm/v7,linux/arm/v8
platforms: linux/amd64
tags: ${{ needs.docker-meta.outputs.tags }}
labels: ${{ needs.docker-meta.outputs.labels }}

View File

@ -2,7 +2,7 @@ name: CI
on:
push:
branches:
- 'main'
- main
- 'versions/*'
tags:
- 'v*'
@ -23,7 +23,7 @@ jobs:
uses: ./.github/workflows/cth-test.yml
with:
ignore_failures: true
version: 1.1.7 # The latest version that CSS is confirmed to pass
version: 1.1.14 # The latest version that CSS is confirmed to pass
docker:
# Build docker containers on version tag, push to main and push to versions/

View File

@ -10,7 +10,7 @@ on:
paths:
- documentation/**
tags-ignore:
- "*"
- '*'
jobs:
mkdocs-prep:
@ -21,10 +21,10 @@ jobs:
outputs:
major: ${{ steps.tagged_version.outputs.major || steps.current_version.outputs.major }}
steps:
- uses: actions/checkout@v3.5.3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4.2.0
- uses: actions/setup-node@v4
with:
node-version: '16.x'
node-version: 16.x
- run: npm ci --ignore-scripts
- name: Lint documentation markdown
run: npm run lint:markdown -- documentation/**/*.md
@ -43,8 +43,8 @@ jobs:
runs-on: ubuntu-latest
needs: mkdocs-prep
steps:
- uses: actions/checkout@v3.5.3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4.2.0
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: pip install mkdocs-material
@ -56,22 +56,21 @@ jobs:
cd documentation && mike deploy --push --update-aliases \
${{ needs.mkdocs-prep.outputs.major }}.x latest
typedocs:
# Build typedocs and publish them to the GH page.
# `mike deploy` overwrites the entire folder for a version so these need to be (re)built afterwards.
needs: [mkdocs-prep, mkdocs]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4.2.0
- uses: actions/setup-node@v4
with:
node-version: '16.x'
node-version: 16.x
- run: npm ci --ignore-scripts
- name: Generate typedocs
run: npm run typedocs
- name: Deploy typedocs
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs

View File

@ -7,10 +7,10 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4.2.0
- uses: actions/setup-node@v4
with:
node-version: '16.x'
node-version: 20.x
- run: npm ci --ignore-scripts
- run: npm run lint
@ -23,22 +23,22 @@ jobs:
- ubuntu-latest
- windows-latest
node-version:
- '14.14'
- '14.x'
- '16.0'
- '16.x'
- '18.0'
- '18.x'
- 18.x
- '20.0'
- 20.x
- '22.1'
- 22.x
timeout-minutes: 15
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Ensure line endings are consistent
run: git config --global core.autocrlf input
- name: Check out repository
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.2.0
- name: Install dependencies and run build scripts
run: npm ci
- name: Type-check tests
@ -58,9 +58,9 @@ jobs:
strategy:
matrix:
node-version:
- '14.x'
- '16.x'
- '18.x'
- 18.x
- 20.x
- 22.x
env:
TEST_DOCKER: true
services:
@ -77,11 +77,11 @@ jobs:
timeout-minutes: 20
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Check out repository
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.2.0
- name: Install dependencies and run build scripts
run: npm ci
- name: Run integration tests
@ -93,19 +93,19 @@ jobs:
strategy:
matrix:
node-version:
- '14.x'
- '16.x'
- '18.x'
- 18.x
- 20.x
- 22.x
timeout-minutes: 20
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Ensure line endings are consistent
run: git config --global core.autocrlf input
- name: Check out repository
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.2.0
- name: Install dependencies and run build scripts
run: npm ci
- name: Run integration tests
@ -123,11 +123,11 @@ jobs:
- 4000:8890
steps:
- name: Use Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '16.x'
node-version: 20.x
- name: Check out repository
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.2.0
- name: Install dependencies and run build scripts
run: npm ci
- name: Run deploy tests

View File

@ -11,8 +11,8 @@ jobs:
fail-fast: false
matrix:
branch:
- 'main'
- 'versions/next-major'
- main
- versions/next-major
uses: ./.github/workflows/cth-test.yml
with:
branch: ${{ matrix.branch }}

View File

@ -1,4 +1,4 @@
name: 'Stale issues and PRs'
name: Stale issues and PRs
on:
schedule:
- cron: '30 1 * * *'
@ -10,7 +10,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
- uses: actions/stale@v9
with:
debug-only: true
stale-issue-label: 🏚️ abandoned
@ -24,6 +24,6 @@ jobs:
days-before-close: 30
days-before-pr-stale: -1
operations-per-run: 700
exempt-issue-labels: "🐛 bug,☀️ enhancement,📚 documentation, feature,🐌 performance,
test,📝 task,:ant: worker threads,👩🏾‍💻 developer experience"
exempt-issue-labels: '🐛 bug,☀️ enhancement,📚 documentation, feature,🐌 performance,
test,📝 task,:ant: worker threads,👩🏾‍💻 developer experience'
exempt-all-assignees: true

View File

@ -1,34 +1,34 @@
"use strict";
'use strict';
module.exports = {
ignores: [ "node_modules/", "LICENSE.md", ".github/" ],
ignores: [ 'node_modules/', 'LICENSE.md', '.github/' ],
globs: [ "**/*.md" ],
globs: [ '**/*.md' ],
config: {
// Enable all markdownlint rules
default: true,
// Set list indent level to 4 which mkdocs / Python-Markdown requires
MD007: { "indent": 4 },
MD007: { indent: 4 },
// Enable line length check but exclude tables and code blocks
MD013: {
line_length: 120,
tables: false,
code_blocks: false
code_blocks: false,
},
// Allow multiple subheadings with the same content
// across different section (#1 ##A ##B #2 ##A ##B)
MD024: {
allow_different_nesting: true
siblings_only: true,
},
// Set Ordered list item prefix to "ordered" (use 1. 2. 3. not 1. 1. 1.)
MD029: { "style": "ordered" },
MD029: { style: 'ordered' },
// Allow inline HTML
MD033: false,
}
},
};

2
.nvmrc
View File

@ -1 +1 @@
16
18

View File

@ -3,6 +3,251 @@
All notable changes to this project will be documented in this file.
## [7.1.2](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.1.1...v7.1.2) (2024-08-20)
### Fixes
* Use full encoded topic iri in streaming http receiveFrom url template ([3e8365b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3e8365bb2613737fb28c376b5967a351a1300432))
## [7.1.1](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.1.0...v7.1.1) (2024-08-07)
### Fixes
* Ensure streaming HTTP streams the whole notification in a single chunk ([3dd8602](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3dd8602acce892b36d1ecaf584c938032e754213))
### Chores
* Increase jest timeout ([e15c59c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e15c59c157882181340fa87a7116b5b34252a79b))
* Use correct markdownlint-cli2 fix command ([b93aa31](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b93aa31c932935c21f1e3666fdab3d0947a645eb))
* Depend on external eslint package ([46f5fc2](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/46f5fc239efa794f5309834fa818d17c96f83bd1))
### Documentation
* Update server architecture documentation ([9c44f37](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9c44f375f2537fa0277a6c6831c63c1c1cfc5373))
* Explain oidc.json ([73619fd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/73619fda056d5a9b0b0fac271f29fbced0424169))
* Explain WAC vs ACP ([ab41967](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ab419674df5a92054128588747c3abc06086c3ab))
* Explain the provided configs ([ed6f2ec](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ed6f2ec8e953e84efa6701482d00f616cf6ecbc2))
* Add test instructions to documentation ([3aa28fa](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3aa28fa03b4d1324998e7f6a5ebe5788d0e6b2c9))
* Add more explicit installation instructions ([e45bce8](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e45bce89aabc95b34ecbefcf46f899a88e60cfef))
* Add missing index for starting the server ([d350c14](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d350c140fd184d33cbaf6880b9d4b1476d1ffb7c))
* Add HTTP streaming notification option to docs ([556899d](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/556899dbdbf3bb285de71225d156c4891dce23a9))
## [7.1.0](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.5...v7.1.0) (2024-05-24)
### Features
* Add support for StreamingHTTPChannel2023 notifications ([cb38613](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cb38613b4cea7f4e808b30a69f1d9aecbb9506e2))
* Store original target in error metadata ([419312e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/419312ee5f4790881a5d101afea7ab6ca88f5e61))
### Fixes
* Fix .nvmrc version ([0749963](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/07499631b44154fd24d3fd8fd704df34dfca0d0a))
* Combine metadata with data when generating resources ([e20efac](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e20efac3eaa79b2ed8b09cd72a7f8f0d85655894))
* Make `getParentContainer` work with query parameters ([0998970](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/099897013c4ea014212495965d4972e5078ed406))
* Do not reuse the same error in StaticThrowHandler ([f73dfb3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f73dfb31c0fe132524323acf6c4f4636bcd8bc80))
* Make allow headers more accurate ([5e60000](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5e600006819ae1cf1f8edf804218aee700c59bae))
* Expose auxiliary links on errors ([d7078ad](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d7078ad69261566c44e38d1bb19142fb8bd4dd0f))
### Refactors
* Simplify eslint configs ([cac70b1](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cac70b1f88dcbbb3ebbe0b8e0b082ead4ab27b33))
## [7.0.5](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.4...v7.0.5) (2024-03-25)
### Fixes
* Allow path segments to start with 2 or more dots ([6fe6b6e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6fe6b6ec89cfa3c1005ca4cf2219fc77de3fb975))
* Add priorities to RDF types when converting ([33e9ae4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/33e9ae41916c9de0638709b02c42936e53d49414))
* Extract root as possible pod when using subdomains ([8fff08a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/8fff08a9b60a11c7a7f313c540d9f28a2f96ebc0))
* Prevent error when switching accounts ([68975e6](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/68975e6627416c248d82150692199db8a5fd0d31))
* Keep content-type when using metadata templates ([137027e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/137027e421da9ffa2d2bbc23c08b2a47d4abd328))
## [7.0.4](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.3...v7.0.4) (2024-02-07)
### Chores
* Replace rdf-js import with @rdfjs/types ([e09b53b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e09b53b20de0e389715d299466a1e1101579dd07))
### Testing
* Remove workaround for authn library ([7d57359](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7d573596139283637cf2d1e99d44cb2130268811))
## [7.0.3](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.2...v7.0.3) (2024-01-05)
### Features
* Support default mainModulePath when creating App ([c6ec45c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/c6ec45c7c0fb91a1c1365e9a0139e4fdaf8838d6))
### Fixes
* Encode WebID ownership tokens ([277a0d0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/277a0d0ab724074ed96940836ecc973a8533c538))
* Fix pod base URL in README template ([4e7929f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/4e7929f6d2b72fbb0a03e8f6e64955239f41c837))
* Only require append when creating with PUT ([a0b7ee4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/a0b7ee42f3a39cdd8fe2dbf1470e53f57ea62aba))
### Chores
* Remove Docker arm builds ([648ce1f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/648ce1fba8737dc7a008ff987de161e5902f9d09))
* Update linting dependency ([3a9b0d6](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3a9b0d69f01d6f0490983eda4ff8000798e10dcc))
### Documentation
* Explain how to use AppRunner to start a server instance ([716c3c3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/716c3c308933a10382d6726a70b5b77a62cfb787))
* Explain that users need to log in for client credentials ([dca71bc](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/dca71bc5b82a9790d861babdcb1dd231c99dd042))
* Fix links ([1f88864](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1f888645d6619e253082f4bf0ed20e7ae4e4c38b))
* Describe server feature set ([c64a1a2](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/c64a1a241ddd975f22eb223d545c938dfc8cb63c))
* Fix Typo `is -> if` ([355f7dd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/355f7dd1c7b9be14c3e243acb5c4634f3a800442))
### Testing
* Run tests on Node 21 ([8f74fc8](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/8f74fc82ad8a611bf96c293748bc5c01c859cdeb))
## [7.0.2](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.1...v7.0.2) (2023-11-20)
### Features
* Add index signature to Credentials ([86f4592](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/86f45923ba6cc696615a98a5fbc8f13a525e4745))
* Pass requestedModes metadata on 401 ([58daeb6](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/58daeb684f6e84fa0950d0ea5d9827881ba136c2))
### Fixes
* Add query parameter to static resources ([5f85441](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5f85441b6e23a2bd2b3e1f3ef116a4868d5f9614))
* Update resource size in ConstantConverter ([6c30a25](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6c30a2512bd30bf52deb4526d13416016004646f))
* Prevent errors in JSON storage when data is invalid ([4318479](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/43184791545bbf6fe8a840de07616fca8f3b7f97))
* Prevent errors during migration for invalid JSON ([2f928bd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/2f928bd2d4c8d4385bca4554ad0ed19cc5aaa770))
* Disable submit buttons until form data is loaded ([1597a5a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1597a5a5782ca5b574c42ab3bab3d01de89ccf02))
* Undo util.js errors introduced when changing lint settings ([261c3d0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/261c3d05a6b446442f2ca5a4a0803363d1cb9021))
### Chores
* Update to TypeScript 5.2.2 ([edbf895](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/edbf895505d625d59404b82807616eebca757040))
* Fix Dockerfile to Node v18 to prevent build issues ([9cc4a9c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9cc4a9ce4d786e76c54d126754271eb2ec1355a5))
### Documentation
* Explain storage/location import options ([01623e0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/01623e0b5c58d77add4ab3e2a1a9082897ad5948))
* Fix outdated information in IDP documentation ([#1773](https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1773)) ([15a929a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/15a929a87e4ce00c0ed266e296405c8e4a22d4a7))
* Explain the patching store in-depth ([4d05fe4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/4d05fe4315e282d6e1ec19af01b185cb21cab29c))
### Refactors
* Replace linting configurations ([6248ed0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6248ed093813e95255f031eb8fcc37e4d869235c))
## [7.0.1](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.0...v7.0.1) (2023-10-20)
### Fixes
* Remove duplicate identifier reference when disabling accounts ([f1fdbb0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f1fdbb05b2575a56dbab4ed9ba38e8d31cfa65d8))
### Documentation
* Fix incorrect variable in documentation ([61b8d4a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/61b8d4a7e85c16580158f06cf25b6c3059ffe224))
* Update v6 references ([762d703](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/762d703df7d0f178cdbd0b53b21ef7ef9b2d4919))
## [7.0.0](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.1.0...v7.0.0) (2023-10-19)
### Features
* Add config option to enable account and pod creation ([9321add](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9321addafa7a63d42a1c11415a55af3e9c695e08))
* Update migration to clear all old non-account data ([9daeaf8](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9daeaf89ace822d8283a7a75b0d300628ab573d3))
* Use new MaxKeyLengthStorage to prevent keys that are too long ([b5a61cb](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b5a61cbb08bc03a1e73ee713dde12921a6bfb515))
* Remove base64 encoding from storages ([e1c5189](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e1c5189cb809727ae1f97cc4a435baa6a60058e6))
* Support all notification methods in all default configs ([b54c6b9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b54c6b97b7931932ce0c9ed7e9d4fc42cb27156b))
* Add support for initializing a server with a root pod ([864dd7c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/864dd7c2e015d33ef6535e7c3e882bc108bda224))
* Link to the account page in the pod README ([764b392](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/764b392b2b53b588dfb1cfce97e9ad677fe02aac))
* Update configurations so ldp/accounts/oidc can be disabled ([010017a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/010017a14176246d6a792f89b701c9a8655b70bb))
* Add migration for v6 account data ([0ac7d40](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/0ac7d407bfef2d880c59bc8fd1d809e69113d5f6))
* Allow ConditionalHandler to set the expected value ([fedd9e0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/fedd9e04d8dd82b8eb4d1f8dac57ff65c0a96a6f))
* Create PodCreator class to contain most pod creation logic ([42a1ca7](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/42a1ca7b645d537b5539827e44f668d46b3ede38))
* Add support for pod owners ([cd07338](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cd07338ce7132d84c8c18f9f6d935026cebc039e))
* Use IndexedStorage to store account data ([4230db5](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/4230db50382b05e454e27b28e7b8be3ac4858fed))
* Full rework of account management ([a47f523](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/a47f5236ef651dd8eaeb344fd83c7ef82f9730ac))
* Move storage location decision to separate import ([ade977b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ade977bb4f86ae000cd70eec4b00e064f5bd7c4b))
* Remove setup ([5eff035](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5eff035cb3095b43bf76e35dd55abf6e299d02ba))
* Update StaticAssetHandler to allow for easier overrides ([ea83ea5](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ea83ea59a11ff127c21f33d111bd0ceb75460a25))
* Update oidc-provider to v8 ([7024ee9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7024ee9a583144c223078ebac0f6685b704dac57))
* Introduce IndexedStorage for a more extensive storage solution ([3ade2ad](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3ade2ad795598a109a96f546e0512b116d66bc2f))
* Split up EncodingPathStorage functionality into different classes ([154d981](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/154d98168498a786368f75a01f51b902b8958ee8))
* Use ETagHandler for ETag generation and comparison ([afcbfda](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/afcbfdaacfb767d5cddefd90af5998158c44f727))
* Store ETag in metadata ([b608080](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b608080d5f23a1326932b2b2c476db660e2dab2e))
* Add error causes to error serializations ([0245b31](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/0245b31e0c650d72190c467546bf0b40a62d800c))
* Add metadata to errors ([f373dff](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f373dff1d7185e71c3d9aa49d2b116cfe4b2dbcc))
* StaticAssetHandler can link a container to a document ([36ff95e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/36ff95e6b289c854635e4a842a8550d9ee88ef24))
### Fixes
* Ensure setup values are migrated correctly ([7a44581](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7a44581406689c3ee3c6477832f7aa3bf4b76c8d))
* Be consistent in slash usage in storages ([f954fc9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f954fc94509266c7a7e47ba27ee768888bd1034f))
* Encode notification keys before accessing the storage ([16378ec](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/16378ec4708ca39975a6a092b08ca0f3126583f4))
* Make sure stored tokens expire ([7504817](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/75048172dfc495c2ae621b04247295aefe60b136))
* Update generated keys in ExpiringAdapterFactory to prevent overlap ([2914fd7](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/2914fd7d6028532f3e9239643047bcc1a421ce3c))
* Fix issue in warning on pod settings HTML page ([7684198](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7684198b53e3f00a2de6f302a11ca3029176ba40))
* Add links on account page ([3bfd9e3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3bfd9e329829176ec339edaf8165e03bedd3875f))
* Rename cookie field to authorization ([307dba3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/307dba3219c15cd094d732e61f8f7e849fd72790))
* Update supported DPoP algorithms to run CTH ([1e3684b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1e3684bcf3061d318768e1341acb04485123a906))
* Add workaround for authn library issue ([180d5f1](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/180d5f131e4498b91fb71a9e2e88cdfd7820e8aa))
* Use local file for oidc-provider typings ([b3ef4ed](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b3ef4ed017a5630b85a76420c1d69fa06fc2b59c))
* Return WAC-Allow header in 304 responses ([43e8ef9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/43e8ef99b0b5179715453d94168bef77576ad272))
* Return ETag in 304 responses ([baa6498](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/baa64987c6af92fb3964506c9a19d4b251a8f227))
* Add missing error causes ([7505f07](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7505f07f2fb7f9972e31f445fcd078590f1f0481))
* Make all ways to start the server more consistent ([e921d62](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e921d62630660dab9317ade1fb5583929eeb9f8a))
### Chores
* Make Node v18 the minimum supported version ([e0c1bae](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e0c1baeb437b64966f74edcdc37719e6945043f2))
* Test Node v20 ([43be71e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/43be71e4a2ed73ad0ca106431aa0af43a3ccc1be))
### Refactors
* Use one identifier to reference main template engine ([92a0856](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/92a0856da6066b58d3c7a1437feadbf9f64abf76))
* Sort default config imports ([851eafd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/851eafd1d15c12cd46b1c240f7702a35b1f042d9))
* Move single IDP configurations into one folder ([862ac48](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/862ac4867bad57694b4a2b565b5aaf94b332c277))
* Rename WebIdAdapterFactory to ClientIdAdapterFactory ([607c04f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/607c04ff286a9842e12c750fcdf87b903a838f8a))
* Rename WebHook to Webhook ([531c299](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/531c299c7bc4d710361cedf5e8747835d62b2820))
* Move condition classes to separate folder ([5ec6edd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5ec6eddbfab57f88b92861d1f0a8ee6034a55526))
### Testing
* Workaround for Jest dynamic import issues ([cccca96](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cccca96d28919338596b1a3690177e4b6427c85f))
* Workaround for Jest ESM issues ([bfa70a4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/bfa70a40aa72d3db0347dbc6e28445a3d1499e64))
* Remove test tmp folder after all tests are finished ([9bf7348](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9bf734817deaaf3e06b0eccac2423092bd1427c5))
* Stop cleaning up folders after quota test to prevent CI issues ([3a57e88](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3a57e88229bafce23b4165ef15ebdfb1a1826b55))
## [6.1.0](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.0.2...v6.1.0) (2023-10-05)
### Features
* Track binary size of resources when possible ([71e5569](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/71e55690f3418be3d08e35d2cd3aeae5a0634654))
* Add support for range headers ([3e9adef](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3e9adef4cf00d0776c0d371f835a31511db7427b))
### Fixes
* Prevent error when creating a root pod([da46bec](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/da46becf7a087118e7d682a193d00a3ca6c32eab))
* Remove URL encoding from base64 strings before decoding ([d31393f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d31393f4751dd3f023110ead4e47a01ac15da2af))
### Documentation
* Simplify README by pointing to our docs. ([d618f97](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d618f9781af80b1697d5fe23f50e3f186954792b))
* Add starting guide. ([e424b84](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e424b8488261bc8942d82a7fe2d92a94650e93b9))
* Add quick start to README. ([1fa6d24](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1fa6d248a2e500c025794f4e3ed6cc504ed77f10))
## [6.0.2](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.0.1...v6.0.2) (2023-08-30)
### Fixes
* Have FixedContentTypeMapper ignore .meta ([9e682f5](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9e682f5c4f8ecd222ae633137ca455b1b9c5ce16))
* Ignore invalid header parts ([9c2c5ed](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9c2c5edaf514fe84594024710c03ab3b7b0fbed1))
* Do not show PUT in Allow header for existing containers ([6f6784a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6f6784a28873c1a8a71bc8a6a37b634677109f02))
* Store activity streams context locally ([a47cc8a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/a47cc8a5eef4d0dd963f85d0ad0e4746ada48e19))
### Testing
* Clear test data folder before running tests ([6fc3f2c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6fc3f2cf4f23ffde40ba88305c4c67bf39b73e10))
* Enable file locker in notification tests ([f419f2f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f419f2f28d664fad6d6e16cf89a6ebbd7d0f0052))
### Chores
* Name HTTP handlers ([937c41f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/937c41fd17d553ddfc0d8f140867c252ec113ccb))
## [6.0.1](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.0.0...v6.0.1) (2023-06-15)
### Fixes

View File

@ -1,3 +1,9 @@
# Code of conduct
# Code of Conduct
We follow and adhere to the Solid [Code of Conduct](https://github.com/solid/process/blob/main/code-of-conduct.md).
For our Code of Conduct, we follow and adhere to the Solid [Code of Conduct](https://github.com/solid/process/blob/main/code-of-conduct.md),
but with a different Committee, which should be contacted in the case of violations.
The Committee consists of the following people:
* Joachim Van Herwegen <joachim.vanherwegen@ugent.be>
* Ruben Verborgh <ruben.verborgh@ugent.be>

View File

@ -1,5 +1,5 @@
# Build stage
FROM node:lts-alpine AS build
FROM node:18-alpine AS build
# Set current working directory
WORKDIR /community-server
@ -13,7 +13,7 @@ RUN npm ci --unsafe-perm && npm run build
# Runtime stage
FROM node:lts-alpine
FROM node:18-alpine
# Add contact informations for questions about the container
LABEL maintainer="Solid Community Server Docker Image Maintainer <thomas.dupont@ugent.be>"

View File

@ -1,6 +1,6 @@
MIT License
Copyright © 20192023 Inrupt Inc. and imec
Copyright © 20192024 Inrupt Inc. and imec
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

147
README.md
View File

@ -23,156 +23,47 @@ the Community Solid Server is a great companion:
- 🧑🏽 **for people** who want to try out having their own Pod
- 👨🏿‍💻 **for developers** who want to create and test Solid apps
- 👨🏿‍💻 **for developers** who want to quickly create and test Solid apps
- 👩🏻‍🔬 **for researchers** who want to design new features for Solid
And, of course, for many others who like to experience Solid.
You can install the software locally or on your server
and get started with Solid immediately.
## ⚡ Running the Community Solid Server
## ⚡ Running the server
To run the server, you will need [Node.js](https://nodejs.org/en/).
We support versions 14.14 and up.
If you do not use Node.js,
you can run a [Docker](https://www.docker.com/) version instead.
### 💻 Installing and running locally
After installing Node.js,
install the latest server version
from the [npm package repository](https://www.npmjs.com/):
Make sure you have [Node.js](https://nodejs.org/en/) 18.0 or higher.
If this is your first time using Node.js,
you can find instructions on how to do this [here](https://nodejs.org/en/download/package-manager).
```shell
npm install -g @solid/community-server
npx @solid/community-server
```
To run the server with in-memory storage, use:
Now visit your brand new server at [http://localhost:3000/](http://localhost:3000/)!
To persist your pod's contents between restarts, use:
```shell
community-solid-server # add parameters if needed
npx @solid/community-server -c @css:config/file.json -f data/
```
To run the server with your current folder as storage, use:
In case you prefer to use Docker instead,
you can find instructions for this and other methods in the
[documentation](https://communitysolidserver.github.io/CommunitySolidServer/latest/usage/starting-server/).
```shell
community-solid-server -c @css:config/file.json
```
## 🔧 Configure your server
### 📃 Installing and running from source
If you rather prefer to run the latest source code version,
or if you want to try a specific [branch](https://www.npmjs.com/) of the code,
you can use:
```shell
git clone https://github.com/CommunitySolidServer/CommunitySolidServer.git
cd CommunitySolidServer
npm ci
npm start -- # add parameters if needed
```
### 📦 Running via Docker
Docker allows you to run the server without having Node.js installed. Images are built on each tagged version and hosted
on [Docker Hub](https://hub.docker.com/r/solidproject/community-server).
```shell
# Clone the repo to get access to the configs
git clone https://github.com/CommunitySolidServer/CommunitySolidServer.git
cd CommunitySolidServer
# Run the image, serving your `~/Solid` directory on `http://localhost:3000`
docker run --rm -v ~/Solid:/data -p 3000:3000 -it solidproject/community-server:latest
# Or use one of the built-in configurations
docker run --rm -p 3000:3000 -it solidproject/community-server -c config/default.json
# Or use your own configuration mapped to the right directory
docker run --rm -v ~/solid-config:/config -p 3000:3000 -it solidproject/community-server -c /config/my-config.json
# Or use environment variables to configure your css instance
docker run --rm -v ~/Solid:/data -p 3000:3000 -it -e CSS_CONFIG=config/file-no-setup.json -e CSS_LOGGING_LEVEL=debug solidproject/community-server
```
### 🗃️ Helm Chart
The official [Helm](https://helm.sh/) Chart for Kubernetes deployment is maintained at
[CommunitySolidServer/css-helm-chart](https://github.com/CommunitySolidServer/css-helm-chart) and published on
[ArtifactHUB](https://artifacthub.io/packages/helm/community-solid-server/community-solid-server).
There you will find complete installation instructions.
```shell
# Summary
helm repo add community-solid-server https://communitysolidserver.github.io/css-helm-chart/charts/
helm install my-css community-solid-server/community-solid-server
```
## 🔧 Configuring the server
The Community Solid Server is designed to be flexible
such that people can easily run different configurations.
This is useful for customizing the server with plugins,
testing applications in different setups,
or developing new parts for the server
without needing to change its base code.
### ⏱ Parameters
An easy way to customize the server is
by passing parameters to the server command.
These parameters give you direct access
to some commonly used settings:
| parameter name | default value | description |
|-------------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| `--port, -p` | `3000` | The TCP port on which the server should listen. |
| `--baseUrl, -b` | `http://localhost:$PORT/` | The base URL used internally to generate URLs. Change this if your server does not run on `http://localhost:$PORT/`. |
| `--socket` | | The Unix Domain Socket on which the server should listen. `--baseUrl` must be set if this option is provided |
| `--loggingLevel, -l` | `info` | The detail level of logging; useful for debugging problems. Use `debug` for full information. |
| `--config, -c` | `@css:config/default.json` | The configuration(s) for the server. The default only stores data in memory; to persist to your filesystem, use `@css:config/file.json` |
| `--rootFilePath, -f` | `./` | Root folder where the server stores data, when using a file-based configuration. |
| `--sparqlEndpoint, -s` | | URL of the SPARQL endpoint, when using a quadstore-based configuration. |
| `--showStackTrace, -t` | false | Enables detailed logging on error output. |
| `--podConfigJson` | `./pod-config.json` | Path to the file that keeps track of dynamic Pod configurations. Only relevant when using `@css:config/dynamic.json`. |
| `--seededPodConfigJson` | | Path to the file that keeps track of seeded Pod configurations. |
| `--mainModulePath, -m` | | Path from where Components.js will start its lookup when initializing configurations. |
| `--workers, -w` | `1` | Run in multithreaded mode using workers. Special values are `-1` (scale to `num_cores-1`), `0` (scale to `num_cores`) and 1 (singlethreaded). |
### 🔀 Multithreading
The Community Solid Server can be started in multithreaded mode with any config. The config must only contain components
that are threadsafe though. If a non-threadsafe component is used in multithreaded mode, the server will describe with
an error which class is the culprit.
```shell
# Running multithreaded with autoscaling to number of logical cores minus 1
npm start -- -c config/file.json -w -1
```
### 🖥️ Environment variables
Parameters can also be passed through environment variables.
They are prefixed with `CSS_` and converted from `camelCase` to `CAMEL_CASE`
> eg. `--showStackTrace` => `CSS_SHOW_STACK_TRACE`
**Note: command-line arguments will always override environment variables!**
### 🧶 Custom configurations
More substantial changes to server behavior can be achieved
by writing new configuration files in JSON-LD.
Substantial changes to server behavior can be achieved via JSON configuration files.
The Community Solid Server uses [Components.js](https://componentsjs.readthedocs.io/en/latest/)
to specify how modules and components need to be wired together at runtime.
Examples and guidance on configurations
Recipes for configuring the server can be found at [CommunitySolidServer/recipes](https://github.com/CommunitySolidServer/recipes).
Examples and guidance on custom configurations
are available in the [`config` folder](https://github.com/CommunitySolidServer/CommunitySolidServer/tree/main/config),
and the [configurations tutorial](https://github.com/CommunitySolidServer/tutorials/blob/main/custom-configurations.md).
There is also a [configuration generator](https://communitysolidserver.github.io/configuration-generator/).
Recipes for configuring the server can be found at [CommunitySolidServer/recipes](https://github.com/CommunitySolidServer/recipes).
## 👩🏽‍💻 Developing server code
The server allows writing and plugging in custom modules
@ -195,4 +86,6 @@ and available under the [MIT License](https://github.com/CommunitySolidServer/C
Don't hesitate to [start a discussion](https://github.com/CommunitySolidServer/CommunitySolidServer/discussions)
or [report a bug](https://github.com/CommunitySolidServer/CommunitySolidServer/issues).
There's also [a Matrix-based, CSS-focused chat](https://matrix.to/#/#CommunitySolidServer_community:gitter.im)
Learn more about Solid at [solidproject.org](https://solidproject.org/).

View File

@ -1,5 +1,103 @@
# Community Solid Server release notes
## v7.0.0
### New features
- The minimum supported Node version is now v18.
- Account management and everything related to it have been drastically changed,
see the [usage documentation](https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/identity-provider/)
for an overview of the new features,
and the [architecture documentation](http://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/accounts/overview/)
for an overview of the new structure.
On a default server, the entry point for everything related to accounts is <http://localhost:3000/.account/>.
Creating an account now requires multiple steps, but allows you to have multiple pods or WebIDs for 1 account.
The architecture has been updated to be more easily extensible.
- Pod seeding has been updated to account for the new account management, with an updated CLI parameter `--seedConfig`,
see the [updated documentation](https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/seeding-pods/)
for more details.
- Migration was added to update account data automatically from previous versions. See below for more details.
- Due to the changes in account management, setup has been removed completely.
The `*-no-setup.json` configurations have been renamed to `*-root.json` to indicate their focus on the root container.
- The `StaticAssetHandler` can now be used to link static pages to containers.
This can be used to set a static page for the root container of a server.
See the `/config/app/init/static-root.json` config for an example.
### Data migration
Old internal data will need to be migrated.
When starting the server for the first time after updating the version,
this will happen automatically.
A prompt will be shown to confirm.
It is advised to first backup the internal data in case something goes wrong.
When using the filesystem backend with default storage options,
these can be found in the `.internal` folder.
Only account data will be migrated,
other internal data such as OIDC sessions and notification subscriptions will be removed
as how they are stored has changed as well.
This means existing tokens and sessions will be invalidated and users will have to log in again.
Notifications will have to be resubscribed to for the same reason.
This migration step is based on how storage is defined in the configurations provided in this repository.
If you made drastic changes to how internal data is stored,
you might need to have a look at the `app/init/migration/v6.json` configuration.
In case the prompt causes issues, it can be skipped automatically with the `--confirmMigration` CLI option.
### Configuration changes
You might need to make changes to your v6 configuration if you use a custom config.
The `@context` needs to be updated to
`https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld`.
The following changes pertain to the imports in the default configs:
- There is a new `identity/oidc` import set that needs to be added to each config.
Options are `default.json` and `disabled.json`.
- There is a new `static-root.json` import option for `app/init`, setting a static page for the root container.
- There is a new `initialize-root-pod.json` import option for `app/init`, initializing a pod in the root.
- There are more `identity/handler` options to finetune account management availability.
- There is a new set of imports `storage/location` to determine where the root storage of the server is located.
- The `app/setup`and `identity/registration` imports have been removed.
- There is a new `ldp/handler/disabled.json` import to disable the LDP API.
The following changes are relevant for v6 custom configs that replaced certain features.
- All configurations that had a reference to setup have been updated.
- `/app/init/*` imports have changed. Functionality remained the same though.
- All imports that define storages have been updated with new storage classes.
- `/http/notifications/base/storage.json`
- `/storage/keyvalue/storages/storages.json`
- All identifiers containing the string "WebHook" have been renamed to instead use "Webhook"
to be consistent with the notification type.
- `/identity/*` configurations have drastically changed due to the account management update.
- `/http/static/default.json` has been updated to allow easier overriding of the static resources.
### Interface changes
These changes are relevant if you wrote custom modules for the server that depend on existing interfaces.
- The `AppRunner` functions to create and start the server now take a singular arguments object as input.
- Most of the key/value related storages had their constructors changed to allow more values.
- `EncodingPathStorage` has been removed
and its functionality split up over `Base64EncodingStorage` and `ContainerPathStorage`.
`HashEncodingPathStorage` has similarly been replaced by introducing `HashEncodingStorage`.
- All classes with the name `WebHook*` have been renamed to `Webhook*`
to be consistent with the corresponding notification type.
- Most classes related to the IDP have been changed.
- All classes related to setup have been removed.
- The `StaticAssetHandler` has bene updated to support the new functionality.
- `SeededPodInitializer` has been renamed to `SeededAccountInitializer`.
- `WebIdAdapterFactory` has been renamed to `ClientIdAdapterFactory`.
## v6.1.0
### New features
- Added support for HTTP Range headers.
## v6.0.0
### New features

View File

@ -4,7 +4,9 @@ const { AppRunner } = require('..');
// Attaching a logger to the uncaughtExceptionMonitor event,
// such that the default uncaughtException behavior still occurs.
process.on('uncaughtExceptionMonitor', (err, origin) => {
// eslint-disable-next-line no-console
console.error(`Process is halting due to an ${origin} with error ${err.message}`);
});
// eslint-disable-next-line no-sync
new AppRunner().runCliSync(process);

View File

@ -6,5 +6,5 @@ module.exports = {
'never',
[ 'start-case', 'kebab-case', 'snake-case' ],
],
}
},
};

View File

@ -1,67 +1,129 @@
# Configuration
This folder contains several configurations that can be used to start up the server.
These can be used directly, or used as inspiration on how you would want to configure your server.
All those configurations are created in the same way:
features are enabled or disabled by choosing a specific option for every component.
All components are represented by the subfolders found in the folders here:
`ldp` contains all LDP related components,
`identity` all IDP components, etc.
Options are then chosen by importing 1 entry from every component subfolder.
In case none of the available options have the exact feature configuration you want,
it is always possible to not choose any of them and create your own custom version instead.
More information on how this can be done manually,
can be found in this [tutorial](https://github.com/CommunitySolidServer/tutorials/blob/main/custom-configurations.md).
## How to use
As manually changing server options can be cumbersome,
there is also an online [configuration generator](https://communitysolidserver.github.io/configuration-generator/).
The easiest way to create a new config is by creating a JSON-LD file
that imports one option from every component subfolder
(such as either `allow-all.json` or `webacl.json` from `ldp/authorization`).
In case none of the available options suffice, there are 2 other ways to handle this:
Below we give an overview of the main identifying features of the configurations.
We start with all features of the default configuration,
after which we will explain in which features the other ones differ from it.
### Append to an existing config
## default.json
In case the options mostly suffice, but they just need to do a bit more,
it might be possible to append to one of the solutions.
This is the configuration that is used if no configuration is provided when starting the server.
It stores all data in memory, so this server is perfect for quickly trying some things out,
but not if you want a persistent server.
For example, in case all the existing metadata parsers can remain,
but an additional one needs to be added,
you could import `ldp/metadata-parser/default.json`
and then add the following in your root config:
For authorization, it uses [Web Access Control (WAC)](https://solid.github.io/web-access-control-spec/),
it supports all [notification methods](https://solidproject.org/TR/notifications-protocol) implemented in CSS,
allows users to create accounts, pods, WebIDs, and use them for [Solid-OIDC](https://solid.github.io/solid-oidc/).
```json
{
"@id": "urn:solid-server:default:MetadataParser",
"@type": "ParallelHandler",
"handlers": [
{ "@type": "MyNewParser" }
]
}
```
It is also initialized with an `index.html` page at root level,
with permissions set in such a way that everyone has full access to the server.
This will add the new parser to the list of metadata parsers.
The `@id` value is needed so Components.js knows which object to add the values to,
and the `@type` is needed so it can interpret the other fields (`handlers` in this case).
Although strictly not allowed by the Solid specification,
this configuration allows users to both write data at root level of the server,
and also create pods in subcontainers.
In all other configurations only or the other (or neither) will be allowed,
but here both are enabled for maximum flexibility when testing things out.
Note that generally it is only advised to append to ParallelHandlers or key/value maps.
In case the order is important this can not be guaranteed over separate files.
## file.json
### Create a new option
The most important difference with the `default.json` configuration is that this one stores its data as files on disk,
thereby making the data persistent.
Besides that, it also prevents data from being written to the root,
the only way to add data is to create a pod and add data there.
To still show something at root level when the server is started,
a static page is shown which can not be modified using standard Solid requests.
If a more drastic change is required,
the solution is to not import anything from that folder but instead write your own.
## file-acp.json
For example, in case you only want the slug parser but not any of the others,
you would have to not import anything from `ldp/metadata-parser` folder,
but instead have the following in your root config:
The only difference with `file.json`is that this uses
[Access Control Policy (ACP)](https://solid.github.io/authorization-panel/acp-specification/)
for authorization instead of WAC.
```json
{
"@id": "urn:solid-server:default:MetadataParser",
"@type": "ParallelHandler",
"handlers": [
{ "@type": "SlugParser" }
]
}
```
## file-root.json
Don't forget that in some cases you would also have to copy some imports!
The existing options can be used as inspiration.
This configuration starts from `file.json`, but does not allow the creation of accounts.
Instead, it allows data to be written directly to the root of the server.
To make sure users can write data there after starting the server,
permissions have been set to grant everyone full access,
so this needs to be changed after starting the server.
## file-root-pod.json
The same idea as `file-root.json`,
but here it is done by creating an account with a pod
in the root of the server the first time it is started.
The credentials to this account are stored in the configuration so should be changed afterwards.
This has the advantage of both having your data at root level,
but also allowing you to authenticate using Solid-OIDC.
## https-file-cli.json
A variant of `file.json` that uses HTTPS of HTTP.
The required key and cert file paths need to be defined using two new CLI options: `--httpsKey` and `-httpCert`.
## example-https-file.json
Another way to define HTTPS, but this time through the configuration file itself instead of the CLI.
As can be seen in the configuration itself, two paths are defined, pointing to the key and cert files.
To actually use this solution, you need to update the paths in that file before running the server.
## sparql-endpoint.json
Sets up a server that uses a SPARQL endpoint to store the data.
Only RDF data can be stored on a server using this configuration.
For internal data, such as accounts, temporary OIDC resources, etc,
the servers uses non-RDF data formats.
While other configurations store this kind of data in the same backend as the Solid data,
this is not feasible when using a SPARQL endpoint.
For this reason, this configuration stores all that data in memory,
meaning this solution should not be used if you want persistent accounts.
## sparql-endpoint-root.json
This differs from `sparql-endpoint.json` in the same way as `file-root.json` differs from `file.json`.
## sparql-file-storage.json
Similar to `sparql-endpoint.json` with the main difference being
that here internal data is stored on disk instead of in memory.
## memory-subdomains.json
A memory-based server whose main differentiating feature is how pod URLs are constructed.
In most other configurations, pods are created by appending the chosen name to the base URL of the server,
so for a server running at `http://example.com/`,
choosing the name `test` for your pod would result in `http://example.com/test/`.
With this configuration, the name is used as a subdomain of the url instead,
so the above values would result in a pod at `http://test.example.com/` instead.
## quota-file.json
A file-based server that limits the amount of data a user can put in a pod.
The values in the configuration determine the limit.
## path-routing.json
This configuration serves as an example of how a server can be configured
to serve data from different backends depending on the URL that is used.
In this example, all data in the `/sparql/` container will be stored in a SPARQL backend,
and similarly for `/memory/` and `/file/`.
## oidc.json
A configuration that sets up the server to only function as an Identity Provider.
It does not support creating pods or storing data on the server,
the only available options are creating accounts and linking them to WebIDs.
This way the server can be used to identify those WebIDs during an OIDC interaction.

View File

@ -8,8 +8,13 @@ Contains a list of initializer that need to be run when starting the server.
* *default*: The default setup. The ParallelHandler can be used to add custom Initializers.
* *initialize-root*: Makes sure the root container has the necessary resources to function properly.
This is only relevant if setup is disabled but root container access is still required.
* *initialize-prefilled-root*: Similar to `initialize-root` but adds some introductory resources to the root container.
* *initialize-prefilled-root*: Similar to `initialize-root` but adds an index page to the root container.
* *initialize-intro*: Similar to `initialize-prefilled-root` but adds an index page
specific to the memory-based server of the default configuration.
* *initialize-root-pod*: Initializes the server with a pod in the root.
Email and password have not yet been set and need to be defined in the base configuration.
See `file-root-pod.json` for an example.
* *static-root*: Shows a static introduction page at the server root. This is not a Solid resource.
## Main
@ -18,16 +23,6 @@ This is the entry point to the main server setup.
* *default*: The main application. This should only be changed/replaced
if you want to start from a different kind of class.
## Setup
Handles the setup page the first time the server is started.
* *disabled*: Disables the setup page. Root container access will be impossible unless handled by the Init config above.
Registration and pod creation is still possible if that feature is enabled.
* *optional*: Setup is available at `/setup` but the server can already be used.
Everyone can access the setup page so make sure to complete that as soon as possible.
* *required*: All requests will be redirected to the setup page until setup is completed.
## Variables
Handles parsing CLI parameters and assigning values to Components.js variables.

View File

@ -1,12 +1,13 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/initializers/base-url.json",
"css:config/app/init/initializers/logger.json",
"css:config/app/init/initializers/server.json",
"css:config/app/init/initializers/seeded-pod.json",
"css:config/app/init/initializers/seeding.json",
"css:config/app/init/initializers/version.json",
"css:config/app/init/initializers/workers.json"
"css:config/app/init/initializers/workers.json",
"css:config/app/init/migration/base.json"
],
"@graph": [
{
@ -15,6 +16,7 @@
"@type": "SequenceHandler",
"handlers": [
{ "@id": "urn:solid-server:default:LoggerInitializer" },
{ "@id": "urn:solid-server:default:EarlyProcessParallelInitializer" },
{ "@id": "urn:solid-server:default:PrimaryInitializer" },
{ "@id": "urn:solid-server:default:WorkerInitializer" }
]
@ -31,9 +33,10 @@
"@type": "SequenceHandler",
"handlers": [
{ "@id": "urn:solid-server:default:CleanupInitializer" },
{ "@id": "urn:solid-server:default:MigrationInitializer" },
{ "@id": "urn:solid-server:default:BaseUrlVerifier" },
{ "@id": "urn:solid-server:default:PrimaryParallelInitializer" },
{ "@id": "urn:solid-server:default:SeededPodInitializer" },
{ "@id": "urn:solid-server:default:SeededAccountInitializer" },
{ "@id": "urn:solid-server:default:ModuleVersionVerifier" },
{ "@id": "urn:solid-server:default:WorkerManager" }
]

View File

@ -1,9 +1,15 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/base/init.json"
],
"@graph": [
{
"comment": "These handlers are called for all processes whenever the server is started, and can be used to ensure that all necessary resources for booting are available.",
"@id": "urn:solid-server:default:EarlyProcessParallelInitializer",
"@type": "ParallelHandler",
"handlers": [ ]
},
{
"comment": "These handlers are called only for the Primary process whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
"@id": "urn:solid-server:default:PrimaryParallelInitializer",

View File

@ -0,0 +1,22 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/default.json",
"css:config/app/init/initializers/root.json"
],
"@graph": [
{
"comment": "Initializes the root container resource.",
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
"@type": "ParallelHandler",
"handlers": [
{ "@id": "urn:solid-server:default:RootInitializer" }
]
},
{
"@id": "urn:solid-server:default:RootFolderGenerator",
"@type": "StaticFolderGenerator",
"templateFolder": "@css:templates/root/intro"
}
]
}

View File

@ -1,12 +1,12 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/base/init.json",
"css:config/app/init/initializers/prefilled-root.json"
"css:config/app/init/default.json",
"css:config/app/init/initializers/root.json"
],
"@graph": [
{
"comment": "These handlers are called only for the Primary process whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
"comment": "Initializes the root container resource.",
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
"@type": "ParallelHandler",
"handlers": [
@ -14,10 +14,9 @@
]
},
{
"comment": "These handlers are called only for the workers processes whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
"@id": "urn:solid-server:default:WorkerParallelInitializer",
"@type": "ParallelHandler",
"handlers": [ ]
"@id": "urn:solid-server:default:RootFolderGenerator",
"@type": "StaticFolderGenerator",
"templateFolder": "@css:templates/root/prefilled"
}
]
}

View File

@ -0,0 +1,17 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/default.json",
"css:config/app/init/initializers/root-pod.json"
],
"@graph": [
{
"comment": "Initializes the root container resource.",
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
"@type": "ParallelHandler",
"handlers": [
{ "@id": "urn:solid-server:default:RootInitializer" }
]
}
]
}

View File

@ -1,12 +1,12 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/base/init.json",
"css:config/app/init/default.json",
"css:config/app/init/initializers/root.json"
],
"@graph": [
{
"comment": "These handlers are called only for the Primary process whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
"comment": "Initializes the root container resource.",
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
"@type": "ParallelHandler",
"handlers": [
@ -14,10 +14,9 @@
]
},
{
"comment": "These handlers are called only for the workers processes whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
"@id": "urn:solid-server:default:WorkerParallelInitializer",
"@type": "ParallelHandler",
"handlers": [ ]
"@id": "urn:solid-server:default:RootFolderGenerator",
"@type": "StaticFolderGenerator",
"templateFolder": "@css:templates/root/empty"
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Logs a warning if the base URL changes.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": [

View File

@ -1,26 +0,0 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Makes sure the root container exists and contains the necessary resources.",
"@id": "urn:solid-server:default:RootInitializer",
"@type": "ConditionalHandler",
"storageKey": "rootInitialized",
"storageValue": true,
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
"source": {
"@type": "ContainerInitializer",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_path": "/",
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
"args_generator": {
"@type": "StaticFolderGenerator",
"templateFolder": "@css:templates/root/prefilled",
"resourcesGenerator": { "@id": "urn:solid-server:default:TemplatedResourcesGenerator" }
},
"args_storageKey": "rootInitialized",
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" }
}
}
]
}

View File

@ -0,0 +1,21 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Makes sure the root container exists and contains the necessary resources.",
"@id": "urn:solid-server:default:RootInitializer",
"@type": "ConditionalHandler",
"storageKey": "rootInitialized",
"storageValue": true,
"handleStorage": true,
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
"source": {
"@id": "urn:solid-server:default:RootPodInitializer",
"@type": "AccountInitializer",
"accountStore": { "@id": "urn:solid-server:default:AccountStore" },
"passwordStore": { "@id": "urn:solid-server:default:PasswordStore" },
"podCreator": { "@id": "urn:solid-server:default:PodCreator" }
}
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Makes sure the root container exists and contains the necessary resources.",
@ -9,13 +9,14 @@
"storageValue": true,
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
"source": {
"@id": "urn:solid-server:default:RootContainerInitializer",
"@type": "ContainerInitializer",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_path": "/",
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
"args_generator": {
"@id": "urn:solid-server:default:RootFolderGenerator",
"@type": "StaticFolderGenerator",
"templateFolder": "@css:templates/root/empty",
"resourcesGenerator": { "@id": "urn:solid-server:default:TemplatedResourcesGenerator" }
},
"args_storageKey": "rootInitialized",

View File

@ -1,23 +0,0 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Separate manager from the RegistrationHandler in case registration is disabled.",
"@id": "urn:solid-server:default:SeededPodRegistrationManager",
"@type": "RegistrationManager",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_webIdSuffix": "/profile/card#me",
"args_identifierGenerator": { "@id": "urn:solid-server:default:IdentifierGenerator" },
"args_ownershipValidator": { "@id": "urn:solid-server:auth:password:OwnershipValidator" },
"args_accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" },
"args_podManager": { "@id": "urn:solid-server:default:PodManager" }
},
{
"comment": "Initializer that instantiates all the seeded accounts and pods.",
"@id": "urn:solid-server:default:SeededPodInitializer",
"@type": "SeededPodInitializer",
"registrationManager": { "@id": "urn:solid-server:default:SeededPodRegistrationManager" },
"configFilePath": { "@id": "urn:solid-server:default:variable:seededPodConfigJson" }
}
]
}

View File

@ -0,0 +1,14 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Initializer that instantiates all the seeded accounts and pods.",
"@id": "urn:solid-server:default:SeededAccountInitializer",
"@type": "SeededAccountInitializer",
"accountStore": { "@id": "urn:solid-server:default:AccountStore" },
"passwordStore": { "@id": "urn:solid-server:default:PasswordStore" },
"podCreator": { "@id": "urn:solid-server:default:PodCreator" },
"configFilePath": { "@id": "urn:solid-server:default:variable:seedConfig" }
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Creates the server that starts listening for requests.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Logs a warning if the base URL changes.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Spawns the required amount of workers",

View File

@ -0,0 +1,16 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/migration/v6.json"
],
"@graph": [
{
"comment": "Handles all migration initializers.",
"@id": "urn:solid-server:default:MigrationInitializer",
"@type": "SequenceHandler",
"handlers": [
{ "@id": "urn:solid-server:default:V6MigrationHandler" }
]
}
]
}

View File

@ -0,0 +1,104 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Handles migration of v6 internal data. In a conditional handler to prevent issues if something fails between migration and writing the new version.",
"@id": "urn:solid-server:default:V6MigrationHandler",
"@type": "ConditionalHandler",
"storageKey": "v6-migration",
"storageValue": true,
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
"handleStorage": true,
"source": {
"@id": "urn:solid-server:default:V6MigrationInitializer",
"@type": "V6MigrationInitializer",
"versionKey": "current-server-version",
"setupStorage": { "@id": "urn:solid-server:default:V6MigrationSetupStorage" },
"accountStorage": { "@id": "urn:solid-server:default:V6MigrationAccountStorage" },
"clientCredentialsStorage": { "@id": "urn:solid-server:default:V6MigrationClientCredentialsStorage" },
"cleanupStorages": [
{ "@id": "urn:solid-server:default:V6MigrationAccountStorage" },
{ "@id": "urn:solid-server:default:V6MigrationClientCredentialsStorage" },
{ "@id": "urn:solid-server:default:V6MigrationForgotPasswordStorage" },
{ "@id": "urn:solid-server:default:V6MigrationKeyStorage" },
{ "@id": "urn:solid-server:default:V6MigrationAdapterStorage" },
{ "@id": "urn:solid-server:default:V6MigrationTokenStorage" },
{ "@id": "urn:solid-server:default:V6MigrationNotificationStorage" }
],
"newAccountStorage": { "@id": "urn:solid-server:default:AccountStorage" },
"newSetupStorage": { "@id": "urn:solid-server:default:SetupStorage" },
"skipConfirmation": { "@id": "urn:solid-server:default:variable:confirmMigration" }
}
},
{
"comment": "All storages changed so we need the old setup storage to correctly read the version key",
"@id": "urn:solid-server:default:V6MigrationSetupStorage",
"@type": "Base64EncodingStorage",
"source": {
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/setup/"
}
},
{
"@id": "urn:solid-server:default:V6MigrationAccountStorage",
"@type": "Base64EncodingStorage",
"source": {
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/accounts/"
}
},
{
"@id": "urn:solid-server:default:V6MigrationClientCredentialsStorage",
"@type": "Base64EncodingStorage",
"source": {
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/accounts/credentials/"
}
},
{
"@id": "urn:solid-server:default:V6MigrationForgotPasswordStorage",
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/forgot-password/"
},
{
"@id": "urn:solid-server:default:V6MigrationKeyStorage",
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/idp/keys/"
},
{
"@id": "urn:solid-server:default:V6MigrationAdapterStorage",
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/idp/adapter/"
},
{
"@id": "urn:solid-server:default:V6MigrationTokenStorage",
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/idp/tokens/"
},
{
"@id": "urn:solid-server:default:V6MigrationNotificationStorage",
"@type": "SingleContainerJsonStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/notifications/"
}
]
}

View File

@ -0,0 +1,21 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/default.json"
],
"@graph": [
{
"comment": "Sets the root of the server to a static page.",
"@id": "urn:solid-server:default:StaticAssetHandler",
"@type": "StaticAssetHandler",
"assets": [
{
"@id": "urn:solid-server:default:RootStaticAsset",
"@type": "StaticAssetEntry",
"relativeUrl": "/",
"filePath": "@css:templates/root/static/index.html"
}
]
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/main/general/templates.json"
],

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Template engine that finds the appropriate template engine to use based on the template extension.",
@ -17,6 +17,14 @@
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
}
]
},
{
"comment": "Renders the main template of all HTML pages. Other generated templates should be fed as input into this.",
"@id": "urn:solid-server:default:MainTemplateEngine",
"@type": "StaticTemplateEngine",
"templateEngine": { "@id": "urn:solid-server:default:TemplateEngine" },
"template": "@css:templates/main.html.ejs"
}
]
}

View File

@ -1,10 +0,0 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Completely disables the setup page.",
"@id": "urn:solid-server:default:SetupHandler",
"@type": "UnsupportedAsyncHandler"
}
]
}

View File

@ -1,20 +0,0 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Redirects all request to the setup.",
"@id": "urn:solid-server:default:SetupRedirectHandler",
"@type": "RedirectingHttpHandler",
"redirects": [
{
"RedirectingHttpHandler:_redirects_key": ".*",
"RedirectingHttpHandler:_redirects_value": "/setup"
}
],
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
"responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
"statusCode": 302
}
]
}

View File

@ -1,70 +0,0 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Handles everything related to the first-time server setup.",
"@id": "urn:solid-server:default:SetupParsingHandler",
"@type": "ParsingHttpHandler",
"args_requestParser": { "@id": "urn:solid-server:default:RequestParser" },
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" },
"args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
"args_operationHandler": {
"@id": "urn:solid-server:default:SetupHttpHandler",
"@type": "SetupHttpHandler",
"args_handler": {
"@type": "SetupHandler",
"args_initializer": { "@id": "urn:solid-server:default:SetupInitializer" },
"args_registrationManager": { "@id": "urn:solid-server:default:SetupRegistrationManager" }
},
"args_converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
"args_storageKey": "setupCompleted-2.0",
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" },
"args_templateEngine": {
"comment": "Renders the specific page and embeds it into the main HTML body.",
"@type": "ChainedTemplateEngine",
"renderedName": "htmlBody",
"engines": [
{
"comment": "Renders the main setup template.",
"@type": "StaticTemplateEngine",
"templateEngine": { "@id": "urn:solid-server:default:TemplateEngine" },
"template": "@css:templates/setup/index.html.ejs"
},
{
"comment": "Will embed the result of the first engine into the main HTML template.",
"@type": "StaticTemplateEngine",
"templateEngine": { "@id": "urn:solid-server:default:TemplateEngine" },
"template": "@css:templates/main.html.ejs"
}
]
}
}
},
{
"comment": "Separate manager from the RegistrationHandler in case registration is disabled.",
"@id": "urn:solid-server:default:SetupRegistrationManager",
"@type": "RegistrationManager",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_webIdSuffix": "/profile/card#me",
"args_identifierGenerator": { "@id": "urn:solid-server:default:IdentifierGenerator" },
"args_ownershipValidator": { "@id": "urn:solid-server:auth:password:OwnershipValidator" },
"args_accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" },
"args_podManager": { "@id": "urn:solid-server:default:PodManager" }
},
{
"comment": "Separate initializer as we only want a simple one that sets the root .acl.",
"@id": "urn:solid-server:default:SetupInitializer",
"@type": "ContainerInitializer",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_path": "/",
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
"args_generator": {
"@type": "StaticFolderGenerator",
"templateFolder": "@css:templates/root/empty",
"resourcesGenerator": { "@id": "urn:solid-server:default:TemplatedResourcesGenerator" }
},
"args_storageKey": "rootInitialized",
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" }
}
]
}

View File

@ -1,23 +0,0 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"import": [
"css:config/app/setup/handlers/setup.json"
],
"@graph": [
{
"comment": "Combines both the redirect and the setup.",
"@id": "urn:solid-server:default:SetupHandler",
"@type": "ConditionalHandler",
"storageKey": "setupCompleted-2.0",
"storageValue": true,
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
"source": {
"@type": "RouterHandler",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
"args_allowedPathNames": [ "/setup" ],
"args_handler": { "@id": "urn:solid-server:default:SetupParsingHandler" }
}
}
]
}

View File

@ -1,30 +0,0 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"import": [
"css:config/app/setup/handlers/redirect.json",
"css:config/app/setup/handlers/setup.json"
],
"@graph": [
{
"comment": "Combines both the redirect and the setup.",
"@id": "urn:solid-server:default:SetupHandler",
"@type": "ConditionalHandler",
"storageKey": "setupCompleted-2.0",
"storageValue": true,
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
"source": {
"@type": "WaterfallHandler",
"handlers": [
{ "@id": "urn:solid-server:default:SetupRedirectHandler" },
{
"@type": "RouterHandler",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
"args_allowedPathNames": [ "/setup" ],
"args_handler": { "@id": "urn:solid-server:default:SetupParsingHandler" }
}
]
}
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Extracts CLI arguments into a key/value object. Config and mainModulePath are only defined here so their description is returned.",
@ -105,11 +105,11 @@
},
{
"@type": "YargsParameter",
"name": "seededPodConfigJson",
"name": "seedConfig",
"options": {
"requiresArg": true,
"type": "string",
"describe": "Path to the file that will be used to seed pods."
"describe": "Path to the file that will be used to seed accounts and pods."
}
},
{
@ -121,6 +121,14 @@
"type": "number",
"describe": "Run the server in multithreaded mode using workers. (special values: -1: num_cores-1, 0: num_cores). Defaults to 1 (singlethreaded)"
}
},
{
"@type": "YargsParameter",
"name": "confirmMigration",
"options": {
"type": "boolean",
"describe": "Skips the confirmation prompts during migration from older versions."
}
}
],
"options": {

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/variables/cli/cli.json",
"css:config/app/variables/resolver/resolver.json"

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Converts an input key/value object into an object mapping values to Components.js variables",
@ -68,10 +68,10 @@
}
},
{
"CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:seededPodConfigJson",
"CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:seedConfig",
"CombinedShorthandResolver:_resolvers_value": {
"@type": "AssetPathExtractor",
"key": "seededPodConfigJson"
"key": "seedConfig"
}
},
{
@ -81,6 +81,14 @@
"key": "workers",
"defaultValue": 1
}
},
{
"CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:confirmMigration",
"CombinedShorthandResolver:_resolvers_value": {
"@type": "KeyExtractor",
"key": "confirmMigration",
"defaultValue": false
}
}
]
}

View File

@ -1,9 +1,8 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/initialize-intro.json",
"css:config/app/main/default.json",
"css:config/app/init/initialize-prefilled-root.json",
"css:config/app/setup/optional.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
@ -13,9 +12,9 @@
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/default.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/identity/registration/enabled.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/webacl.json",
"css:config/ldp/handler/default.json",
@ -24,6 +23,7 @@
"css:config/ldp/modes/default.json",
"css:config/storage/backend/memory.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/root.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acl.json",
"css:config/util/identifiers/suffix.json",

View File

@ -1,21 +1,20 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/static-root.json",
"css:config/app/main/default.json",
"css:config/app/init/default.json",
"css:config/app/setup/required.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/websockets.json",
"css:config/http/notifications/all.json",
"css:config/http/server-factory/http.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/default.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/dynamic.json",
"css:config/identity/registration/enabled.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/webacl.json",
"css:config/ldp/handler/default.json",
@ -24,6 +23,7 @@
"css:config/ldp/modes/default.json",
"css:config/storage/backend/dynamic.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/pod.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acl.json",
"css:config/util/identifiers/suffix.json",

View File

@ -1,21 +1,20 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/static-root.json",
"css:config/app/main/default.json",
"css:config/app/init/default.json",
"css:config/app/setup/required.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/websockets.json",
"css:config/http/notifications/all.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/default.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/identity/registration/enabled.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/webacl.json",
"css:config/ldp/handler/default.json",
@ -24,6 +23,7 @@
"css:config/ldp/modes/default.json",
"css:config/storage/backend/file.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/pod.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acl.json",
"css:config/util/identifiers/suffix.json",

View File

@ -1,21 +1,20 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/static-root.json",
"css:config/app/main/default.json",
"css:config/app/init/default.json",
"css:config/app/setup/required.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/websockets.json",
"css:config/http/notifications/all.json",
"css:config/http/server-factory/http.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/default.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/identity/registration/enabled.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/acp.json",
"css:config/ldp/handler/default.json",
@ -24,6 +23,7 @@
"css:config/ldp/modes/default.json",
"css:config/storage/backend/file.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/pod.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acr.json",
"css:config/util/identifiers/suffix.json",

51
config/file-root-pod.json Normal file
View File

@ -0,0 +1,51 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/initialize-root-pod.json",
"css:config/app/main/default.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/all.json",
"css:config/http/server-factory/http.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/no-accounts-pods.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/webacl.json",
"css:config/ldp/handler/default.json",
"css:config/ldp/metadata-parser/default.json",
"css:config/ldp/metadata-writer/default.json",
"css:config/ldp/modes/default.json",
"css:config/storage/backend/file.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/root.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acl.json",
"css:config/util/identifiers/suffix.json",
"css:config/util/index/default.json",
"css:config/util/logging/winston.json",
"css:config/util/representation-conversion/default.json",
"css:config/util/resource-locker/file.json",
"css:config/util/variables/default.json"
],
"@graph": [
{
"comment": [
"A Solid server that stores its resources on disk and uses WAC for authorization.",
"A pod will be created in the root with the email/password login defined here.",
"It is advised to immediately change this password after starting the server."
]
},
{
"@id": "urn:solid-server:default:RootPodInitializer",
"@type": "AccountInitializer",
"email": "test@example.com",
"password": "secret!"
}
]
}

View File

@ -1,21 +1,20 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/main/default.json",
"css:config/app/init/initialize-root.json",
"css:config/app/setup/disabled.json",
"css:config/app/main/default.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/websockets.json",
"css:config/http/notifications/all.json",
"css:config/http/server-factory/http.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/default.json",
"css:config/identity/handler/no-accounts.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/identity/registration/disabled.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/webacl.json",
"css:config/ldp/handler/default.json",
@ -24,6 +23,7 @@
"css:config/ldp/modes/default.json",
"css:config/storage/backend/file.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/root.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acl.json",
"css:config/util/identifiers/suffix.json",
@ -37,7 +37,7 @@
{
"comment": [
"A Solid server that stores its resources on disk and uses WAC for authorization.",
"No setup is required and the root container is initialized to allow full access for everyone so make sure to change this."
"No registration and the root container is initialized to allow full access for everyone so make sure to change this."
]
}
]

View File

@ -1,21 +1,20 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/static-root.json",
"css:config/app/main/default.json",
"css:config/app/init/default.json",
"css:config/app/setup/required.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/websockets.json",
"css:config/http/notifications/all.json",
"css:config/http/server-factory/http.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/default.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/identity/registration/enabled.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/webacl.json",
"css:config/ldp/handler/default.json",
@ -24,6 +23,7 @@
"css:config/ldp/modes/default.json",
"css:config/storage/backend/file.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/pod.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acl.json",
"css:config/util/identifiers/suffix.json",

View File

@ -22,13 +22,15 @@ Determines how notifications should be sent out from the server when resources c
* *all*: Supports all available notification types of the Solid Notifications protocol
[specification](https://solidproject.org/TR/notifications-protocol).
Currently, this includes WebHookChannel2023 and WebSocketChannel2023.
Currently, this includes WebhookChannel2023, WebSocketChannel2023 and StreamingHTTPChannel2023.
* *disabled*: No notifications are sent out.
* *legacy-websocket*: Follows the legacy Solid WebSocket
[specification](https://github.com/solid/solid-spec/blob/master/api-websockets.md).
Will be removed in future versions.
* *new-old-websockets.json*: Support for both the legacy Solid Websockets and the new WebSocketChannel2023.
* *webhooks*: Follows the WebHookChannel2023
* *streaming-http*: Follows the StreamingHTTPChannel2023
[specification](https://solid.github.io/notifications/streaming-http-channel-2023) draft.
* *webhooks*: Follows the WebhookChannel2023
[specification](https://solid.github.io/notifications/webhook-channel-2023) draft.
* *websockets*: Follows the WebSocketChannel2023
[specification](https://solid.github.io/notifications/websocket-channel-2023).

View File

@ -1,7 +1,6 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/handler/handlers/oidc.json",
"css:config/http/handler/handlers/storage-description.json"
],
"@graph": [
@ -12,10 +11,10 @@
"handlers": [
{ "@id": "urn:solid-server:default:Middleware" },
{
"@id": "urn:solid-server:default:BaseHttpHandler",
"@type": "WaterfallHandler",
"handlers": [
{ "@id": "urn:solid-server:default:StaticAssetHandler" },
{ "@id": "urn:solid-server:default:SetupHandler" },
{ "@id": "urn:solid-server:default:OidcHandler" },
{ "@id": "urn:solid-server:default:NotificationHttpHandler" },
{ "@id": "urn:solid-server:default:StorageDescriptionHandler" },

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Example handler to configure redirect patterns.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "The relative path appended to a storage container URL to find its description resource.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/handler/handlers/storage-description.json"
],
@ -11,10 +11,10 @@
"handlers": [
{ "@id": "urn:solid-server:default:Middleware" },
{
"@id": "urn:solid-server:default:BaseHttpHandler",
"@type": "WaterfallHandler",
"handlers": [
{ "@id": "urn:solid-server:default:StaticAssetHandler" },
{ "@id": "urn:solid-server:default:SetupHandler" },
{ "@id": "urn:solid-server:default:StorageDescriptionHandler" },
{ "@id": "urn:solid-server:default:LdpHandler" }
]

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/middleware/handlers/constant-headers.json",
"css:config/http/middleware/handlers/cors.json"

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Adds several constant headers.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Adds all the necessary CORS headers.",
@ -21,6 +21,7 @@
"Accept-Post",
"Accept-Put",
"Allow",
"Content-Range",
"ETag",
"Last-Modified",
"Link",

View File

@ -1,11 +1,12 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/notifications/base/description.json",
"css:config/http/notifications/base/handler.json",
"css:config/http/notifications/base/http.json",
"css:config/http/notifications/base/listener.json",
"css:config/http/notifications/base/storage.json",
"css:config/http/notifications/streaming-http/http.json",
"css:config/http/notifications/websockets/handler.json",
"css:config/http/notifications/websockets/http.json",
"css:config/http/notifications/websockets/subscription.json",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"@id": "urn:solid-server:default:StorageDescriber",
@ -21,7 +21,10 @@
"comment": "The root URL of all Notification subscription routes.",
"@id": "urn:solid-server:default:NotificationRoute",
"@type": "RelativePathInteractionRoute",
"base": { "@id": "urn:solid-server:default:variable:baseUrl" },
"base": {
"@type": "AbsolutePathInteractionRoute",
"path": { "@id": "urn:solid-server:default:variable:baseUrl" }
},
"relativePath": "/.notifications/"
}
]

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Generates the Notification objects and caches them based on the topic.",
@ -15,15 +15,13 @@
{ "@type": "DeleteNotificationGenerator" },
{
"@type": "AddRemoveNotificationGenerator",
"store": {
"@id": "urn:solid-server:default:ResourceStore"
}
"store": { "@id": "urn:solid-server:default:ResourceStore" },
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
},
{
"@type": "ActivityNotificationGenerator",
"store": {
"@id": "urn:solid-server:default:ResourceStore"
}
"store": { "@id": "urn:solid-server:default:ResourceStore" },
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"@id": "urn:solid-server:default:NotificationHttpHandler",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Listens to the activities emitted by the MonitoringStore.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Storage to be used to keep track of subscriptions.",
@ -7,7 +7,7 @@
"@type": "KeyValueChannelStorage",
"locker": { "@id": "urn:solid-server:default:ResourceLocker" },
"storage": {
"@type": "EncodingPathStorage",
"@type": "ContainerPathStorage",
"relativePath": "/notifications/",
"source": { "@id": "urn:solid-server:default:KeyValueStorage" }
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Disables notification routing.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Disables notification routing.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/notifications/base/description.json",
"css:config/http/notifications/base/handler.json",

View File

@ -0,0 +1,15 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/notifications/base/description.json",
"css:config/http/notifications/base/handler.json",
"css:config/http/notifications/base/http.json",
"css:config/http/notifications/base/storage.json",
"css:config/http/notifications/streaming-http/http.json"
],
"@graph": [
{
"comment": "All the relevant components are made in the specific imports seen above."
}
]
}

View File

@ -0,0 +1,87 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"@id": "urn:solid-server:default:StreamingHTTP2023Route",
"@type": "RelativePathInteractionRoute",
"base": { "@id": "urn:solid-server:default:NotificationRoute" },
"relativePath": "/StreamingHTTPChannel2023/"
},
{
"comment": "Creates updatesViaStreamingHttp2023 Link relations",
"@id": "urn:solid-server:default:StreamingHttpMetadataWriter",
"@type": "StreamingHttpMetadataWriter",
"route": { "@id": "urn:solid-server:default:StreamingHTTP2023Route" }
},
{
"comment": "Allows discovery of the corresponding streaming HTTP channel",
"@id": "urn:solid-server:default:MetadataWriter",
"@type": "ParallelHandler",
"handlers": [
{ "@id": "urn:solid-server:default:StreamingHttpMetadataWriter" }
]
},
{
"comment": "Handles the request targeting a StreamingHTTPChannel2023 receiveFrom endpoint.",
"@id": "urn:solid-server:default:StreamingHttp2023Router",
"@type": "OperationRouterHandler",
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"allowedMethods": [ "GET" ],
"allowedPathNames": [ "/StreamingHTTPChannel2023/" ],
"handler": {
"@id": "urn:solid-server:default:StreamingHttp2023RequestHandler",
"@type": "StreamingHttpRequestHandler",
"streamMap": { "@id": "urn:solid-server:default:StreamingHttpMap" },
"route": { "@id": "urn:solid-server:default:StreamingHTTP2023Route" },
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
"credentialsExtractor": { "@id": "urn:solid-server:default:CredentialsExtractor" },
"permissionReader": { "@id": "urn:solid-server:default:PermissionReader" },
"authorizer": { "@id": "urn:solid-server:default:Authorizer" }
}
},
{
"comment": "Add the router to notification type handler",
"@id": "urn:solid-server:default:NotificationTypeHandler",
"@type": "WaterfallHandler",
"handlers": [
{ "@id": "urn:solid-server:default:StreamingHttp2023Router" }
]
},
{
"comment": "Opened response streams will be stored in this Map.",
"@id": "urn:solid-server:default:StreamingHttpMap",
"@type": "StreamingHttpMap"
},
{
"comment": "Emits serialized notifications through Streaming HTTP.",
"@id": "urn:solid-server:default:StreamingHttp2023Emitter",
"@type": "StreamingHttp2023Emitter",
"streamMap": { "@id": "urn:solid-server:default:StreamingHttpMap" }
},
{
"comment": "Listens to the activities emitted by the MonitoringStore.",
"@id": "urn:solid-server:default:StreamingHttpListeningActivityHandler",
"@type": "StreamingHttpListeningActivityHandler",
"emitter": { "@id": "urn:solid-server:default:ResourceStore" },
"streamMap": { "@id": "urn:solid-server:default:StreamingHttpMap" },
"source": {
"comment": "Handles the generation and serialization of notifications for StreamingHTTPChannel2023",
"@id": "urn:solid-server:default:StreamingHttpNotificationHandler",
"@type": "ComposedNotificationHandler",
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
"emitter": { "@id": "urn:solid-server:default:StreamingHttp2023Emitter" },
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
}
},
{
"comment": "Add the activity handler to the primary initializer",
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
"@type": "ParallelHandler",
"handlers": [
{ "@id": "urn:solid-server:default:StreamingHttpListeningActivityHandler" }
]
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/notifications/base/description.json",
"css:config/http/notifications/base/handler.json",

View File

@ -1,24 +1,25 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Handles the generation and serialization of notifications for WebhookChannel2023.",
"@id": "urn:solid-server:default:WebHookNotificationHandler",
"@id": "urn:solid-server:default:WebhookNotificationHandler",
"@type": "TypedNotificationHandler",
"type": "http://www.w3.org/ns/solid/notifications#WebhookChannel2023",
"source": {
"@type": "ComposedNotificationHandler",
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
"emitter": { "@id": "urn:solid-server:default:WebHookEmitter" }
"emitter": { "@id": "urn:solid-server:default:WebhookEmitter" },
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
}
},
{
"comment": "Emits serialized notifications through HTTP requests to the Webhook.",
"@id": "urn:solid-server:default:WebHookEmitter",
"@type": "WebHookEmitter",
"@id": "urn:solid-server:default:WebhookEmitter",
"@type": "WebhookEmitter",
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"webIdRoute": { "@id": "urn:solid-server:default:WebHookWebIdRoute" },
"webIdRoute": { "@id": "urn:solid-server:default:WebhookWebIdRoute" },
"jwkGenerator": { "@id": "urn:solid-server:default:JwkGenerator" }
},
@ -26,7 +27,7 @@
"@id": "urn:solid-server:default:NotificationHandler",
"@type": "WaterfallHandler",
"handlers": [
{ "@id": "urn:solid-server:default:WebHookNotificationHandler" }
{ "@id": "urn:solid-server:default:WebhookNotificationHandler" }
]
}
]

View File

@ -1,27 +1,28 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"@id": "urn:solid-server:default:WebHookRoute",
"@id": "urn:solid-server:default:WebhookRoute",
"@type": "RelativePathInteractionRoute",
"base": { "@id": "urn:solid-server:default:NotificationRoute" },
"relativePath": "/WebhookChannel2023/"
},
{
"@id": "urn:solid-server:default:WebHookWebIdRoute",
"@id": "urn:solid-server:default:WebhookWebIdRoute",
"@type": "RelativePathInteractionRoute",
"base": { "@id": "urn:solid-server:default:WebHookRoute" },
"relativePath": "/webId"
"base": { "@id": "urn:solid-server:default:WebhookRoute" },
"relativePath": "/webId",
"ensureSlash": false
},
{
"comment": "Handles the WebhookChannel2023 WebID.",
"@id": "urn:solid-server:default:WebHookWebId",
"@id": "urn:solid-server:default:WebhookWebId",
"@type": "OperationRouterHandler",
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"allowedPathNames": [ "/WebhookChannel2023/webId$" ],
"handler": {
"@type": "WebHookWebId",
"@type": "WebhookWebId",
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
}
},
@ -30,8 +31,8 @@
"@id": "urn:solid-server:default:NotificationTypeHandler",
"@type": "WaterfallHandler",
"handlers": [
{ "@id": "urn:solid-server:default:WebHookRouter" },
{ "@id": "urn:solid-server:default:WebHookWebId" }
{ "@id": "urn:solid-server:default:WebhookRouter" },
{ "@id": "urn:solid-server:default:WebhookWebId" }
]
}
]

View File

@ -1,17 +1,17 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Handles the subscriptions targeting a WebhookChannel2023.",
"@id": "urn:solid-server:default:WebHookRouter",
"@id": "urn:solid-server:default:WebhookRouter",
"@type": "OperationRouterHandler",
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"allowedMethods": [ "HEAD", "GET", "POST" ],
"allowedPathNames": [ "/WebhookChannel2023/$" ],
"handler": {
"@id": "urn:solid-server:default:WebHookSubscriber",
"@id": "urn:solid-server:default:WebhookSubscriber",
"@type": "NotificationSubscriber",
"channelType": { "@id": "urn:solid-server:default:WebHookChannel2023Type" },
"channelType": { "@id": "urn:solid-server:default:WebhookChannel2023Type" },
"converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
"credentialsExtractor": { "@id": "urn:solid-server:default:CredentialsExtractor" },
"permissionReader": { "@id": "urn:solid-server:default:PermissionReader" },
@ -21,13 +21,13 @@
},
{
"comment": "Contains all the metadata relevant for a WebhookChannel2023.",
"@id": "urn:solid-server:default:WebHookChannel2023Type",
"@id": "urn:solid-server:default:WebhookChannel2023Type",
"@type": "WebhookChannel2023Type",
"route": { "@id": "urn:solid-server:default:WebHookRoute" },
"webIdRoute": { "@id": "urn:solid-server:default:WebHookWebIdRoute" },
"route": { "@id": "urn:solid-server:default:WebhookRoute" },
"webIdRoute": { "@id": "urn:solid-server:default:WebhookWebIdRoute" },
"stateHandler": {
"@type": "BaseStateHandler",
"handler": { "@id": "urn:solid-server:default:WebHookNotificationHandler" },
"handler": { "@id": "urn:solid-server:default:WebhookNotificationHandler" },
"storage": { "@id": "urn:solid-server:default:SubscriptionStorage" }
}
},
@ -37,7 +37,7 @@
"@type": "NotificationDescriber",
"subscriptions": [
{
"@id": "urn:solid-server:default:WebHookChannel2023Type"
"@id": "urn:solid-server:default:WebhookChannel2023Type"
}
]
}

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/notifications/base/description.json",
"css:config/http/notifications/base/handler.json",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Handles the generation and serialization of notifications for WebSocketChannel2023.",
@ -10,7 +10,8 @@
"@type": "ComposedNotificationHandler",
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
"emitter": { "@id": "urn:solid-server:default:WebSocket2023Emitter" }
"emitter": { "@id": "urn:solid-server:default:WebSocket2023Emitter" },
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
}
},
{

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Catches newly opened WebSockets and verifies if they belong to a subscription.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Handles the subscriptions targeting a WebSocketChannel2023.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"@id": "urn:solid-server:default:ServerConfigurator",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/server-factory/configurator/default.json"
],

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/server-factory/configurator/default.json"
],

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/http/server-factory/configurator/default.json",
"css:config/http/server-factory/https/cli.json",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"@id": "urn:solid-server-app-setup:default:CliExtractor",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Adds resolvers to assign the HTTPS CLI values to the Components.js variables.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Servers static files on fixed URLs.",
@ -9,26 +9,35 @@
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"assets": [
{
"StaticAssetHandler:_assets_key": "/favicon.ico",
"StaticAssetHandler:_assets_value": "@css:templates/images/favicon.ico"
"@id": "urn:solid-server:default:FaviconStaticAsset",
"@type": "StaticAssetEntry",
"relativeUrl": "/favicon.ico",
"filePath": "@css:templates/images/favicon.ico"
},
{
"StaticAssetHandler:_assets_key": "/.well-known/css/styles/",
"StaticAssetHandler:_assets_value": "@css:templates/styles/"
"@id": "urn:solid-server:default:StylesStaticAsset",
"@type": "StaticAssetEntry",
"relativeUrl": "/.well-known/css/styles/",
"filePath": "@css:templates/styles/"
},
{
"StaticAssetHandler:_assets_key": "/.well-known/css/fonts/",
"StaticAssetHandler:_assets_value": "@css:templates/fonts/"
"@id": "urn:solid-server:default:FontsStaticAsset",
"@type": "StaticAssetEntry",
"relativeUrl": "/.well-known/css/fonts/",
"filePath": "@css:templates/fonts/"
},
{
"StaticAssetHandler:_assets_key": "/.well-known/css/images/",
"StaticAssetHandler:_assets_value": "@css:templates/images/"
"@id": "urn:solid-server:default:ImagesStaticAsset",
"@type": "StaticAssetEntry",
"relativeUrl": "/.well-known/css/images/",
"filePath": "@css:templates/images/"
},
{
"StaticAssetHandler:_assets_key": "/.well-known/css/scripts/",
"StaticAssetHandler:_assets_value": "@css:templates/scripts/"
"@id": "urn:solid-server:default:ScriptsStaticAsset",
"@type": "StaticAssetEntry",
"relativeUrl": "/.well-known/css/scripts/",
"filePath": "@css:templates/scripts/"
}
]
}
]

View File

@ -1,21 +1,20 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/static-root.json",
"css:config/app/main/default.json",
"css:config/app/init/default.json",
"css:config/app/setup/required.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/websockets.json",
"css:config/http/notifications/all.json",
"css:config/http/server-factory/https.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
"css:config/identity/handler/default.json",
"css:config/identity/oidc/default.json",
"css:config/identity/ownership/token.json",
"css:config/identity/pod/static.json",
"css:config/identity/registration/enabled.json",
"css:config/ldp/authentication/dpop-bearer.json",
"css:config/ldp/authorization/webacl.json",
"css:config/ldp/handler/default.json",
@ -24,6 +23,7 @@
"css:config/ldp/modes/default.json",
"css:config/storage/backend/file.json",
"css:config/storage/key-value/resource-store.json",
"css:config/storage/location/pod.json",
"css:config/storage/middleware/default.json",
"css:config/util/auxiliary/acl.json",
"css:config/util/identifiers/suffix.json",

View File

@ -25,10 +25,28 @@ Necessary for sending e-mail when using IDP.
## Handler
Contains everything needed for setting up the Identity Provider.
Contains everything needed for setting up the account management.
* *default*: As of writing there is not much customization possible.
This contains everything needed.
* *default*: All account features enabled.
* *disabled*: Completely disables everything account related.
* *no-accounts*: Disables the creation of new accounts.
* *no-accounts-pods*: Disables the creation of new accounts and creating new pods for existing accounts.
* *no-pods*: Disables the creation of new pods.
## OIDC
Determines if OIDC interactions are supported as an identity provider.
* *default*: OIDC is enabled.
* *disabled*: OIDC is disabled.
## Interaction
Everything related to the JSON API and its routing.
* *default*: Everything enabled.
* *no-accounts*: Disables the creation of new accounts.
* *no-pods*: Disables the creation of new pods.
## Ownership
@ -44,10 +62,3 @@ What to use for pod creation.
* *dynamic*: Every created pod has its own Components.js config for its ResourceStore,
which can differ from the others.
* *static*: All pod data is stored in separate containers in the same ResourceStore.
## Registration
If users should be able to register on the server.
* *enabled*: Enables registration.
* *disabled*: Disables registration.

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Makes sure the IDP container has the necessary root resources.",
@ -11,7 +11,7 @@
"source": {
"@type": "ContainerInitializer",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_path": "/idp/",
"args_path": "/.account/",
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
"args_generator": {
"@type": "StaticFolderGenerator",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Makes sure the .well-known container has the necessary root resources. Some IDP resources are stored there due to OIDC requirements.",

View File

@ -1,5 +1,5 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"@graph": [
{
"comment": "Allow everyone to register new pods.",

Some files were not shown because too many files have changed in this diff Show More