903 Commits

Author SHA1 Message Date
Joachim Van Herwegen
bc0eeb1012 feat: Split up IDP HTML, routing, and handler behaviour 2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
8f8e8e6df4 feat: Send reset password recordId as query parameter
This is a revert of a previous change
but is now possible due to the use of JSON bodies.
This does mean JavaScript is required in the HTML page,
but that will be required for future changes anyway.
2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
c216efd62f
feat: Allow for custom CLI and variable options
* feat: (AppRunner) Mechanism to configure cli args and derive componentsjs vars from them implemented

* fix: (AppRunner) tidying

* fix: (AppRunner) tidying up

* fix: (AppRunner) runCli method made sync

* fix; (VarResolver) refactored to multiple files, and other stylistic fixes.

* chore: (AppRunner) Uses builder pattern for yargs base arguments setup to enable better typescript inference

* fix(AppRunner): refactoring AppRunner and VarResolver

* fix(AppRunner): refactoring AppRunner promise handling

* fix(AppRunner): verror dependency removal

* fix: Simplify CLI error handling

* feat: Use same config for both CLI and app instantiation

* fix: Update typings and imports

* feat: Split VariableResolver behaviour to 2 classes

* feat: Move default value behaviour from CLI to ValueComputers

* test: Add unit tests for new CLI classes

* feat: Integrate new CLI configuration with all default configurations

* feat: Add createApp function to AppRunner

* docs: Update comments in CLI-related classes

* fix: Various fixes and refactors

Co-authored-by: damooo <damodara@protonmail.com>
2022-02-11 10:00:12 +01:00
Thomas Dupont
d067165b68
fix: Split AccountStorage and ForgotPasswordStorage (expiring now) 2022-02-09 13:26:42 +01:00
Joachim Van Herwegen
90a6460c8d Merge branch 'main' into versions/3.0.0
# Conflicts:
#	package-lock.json
#	test/integration/Identity.test.ts
#	test/integration/RepresentationConverter.test.ts
2022-01-25 11:44:24 +01:00
Joachim Van Herwegen
a9941ebe78 feat: Add support for N3 Patch 2022-01-25 11:30:42 +01:00
Joachim Van Herwegen
af049124bf chore: Update eslint dependencies 2022-01-24 09:37:50 +01:00
Joachim Van Herwegen
1afed65368 feat: Return correct status codes for invalid requests 2022-01-21 17:10:38 +01:00
Thomas Dupont
bc6203f3e8
docs: Update release notes with official docker image publishing. (#1123) 2022-01-21 13:47:54 +01:00
Thomas
65d1eeb0a2
chore: Build and push official docker image in CI
* docker job added to ci.yml

* removed temporary manual build stuff

* updated readme for new docker image

* updated changelog

* Revert "updated changelog"

This reverts commit 20d99a2e27e19ffb7a31cbddddb7daab8206b3c8.

Co-authored-by: Thomas Dupont <thomas.dupont@intec.ugent.be>
2022-01-21 11:00:48 +01:00
Arthur Joppart
0cb4d7b161
feat: Add support for quota limits
* feat: implemented SizeReporter and FileSizeReporter

* test: FileSizeReporter tests

* feat: added QuotedDataAccessor

* test: added extra test to check recursiveness of filesizereporter

* feat: added QuotaStrategy interface

* feat: further progress in different files

* feat: wrote doc, tests and improved code

* feat: fixed bugs and code is now runnable and buildable

* feat: finished implementation

* fix: revert accidental chanegs

* fix: fileSizeReported did not count container size

* fix: bug calculating container sizes fixed

* test: FileSizeReporter tests

* test: QuotaDataValidator tests

* test: QuotaError tests

* fix: removed console.log

* doc: added doc to several files

* doc: changed doc for QuotaStrategy to new implementation

* fix: improved content length regex

* feat: improved GlobalQuotaStrategy code

* fix: made FileSizeReported readonly

* feat: added comments to quota-file.json

* fix: changed default tempFilePath variable

* test: included new tempFilePath variable in testing

* chore: created seperate command for start:file:quota to pass tests

* feat: removed all sync fs calls from FileSizeReporter

* feat: minor changes in multple files

* fix: changed function signatures to be in line with others

* feat: optimized quota data validation

* feat: improved FileSizeReporter code

* fix: corrected calculation of containersizes and fixed erroring edgecase

* feat: save content-length as number in metadata

* feat: added comments and changed GlobalQuotaStrategy constructor

* feat: changed file names and added small comment

* test: AtomicFileDataAccessor tests

* test: completed FileSizeReporter tests

* fix: content-length is now saved correctly in RepresentationMetadata

* feat: adapted content length metadata + tests

* fix: removed tempFilePath variable

* fix: reverted .gitignore

* fix: forgot to remove tempFilePath variable from componentsjs config

* test: GlobalQuotaStrategy tests

* feat: replaced DataValidator with Validator

* feat: reworked DataValidator

* feat: added calcultateChunkSize() to SizeReporter

* test: updated FileSizeReporter tests

* fix: tempFile location now relative to rootFilePath

* test: QuotaDataValidator tests

* fix: corrected FileSizeReporter tests

* fix: adapted FileSizeReporter tests

* fix: FileSizeReporter bug on Windows

* fix: regex linting error

* feat: changed Validator class

* feat: added PodQuotaStrategy to enable suota on a per pod basis

* chore: bump context versions

* fix: Capitalized comments in json file

* chore: renamed ValidatorArgs to ValidatorInput

* chore: order all exports

* fix: made TODO comment clearer

* chore: added seperated config files for global and pod based quota + fixed comments

* chore: made minor changes to comments

* feat: added PassthroughDataAccessor

* feat: added PasstroughtDataAccessor + tests

* fix: added invalid header check to ContentLengthParser

* chore: improved mocks

* chore: move quota limit higher up in config

* fix: atomicity issue in AtomicFileDataAccessor

* chore: moved .internal folder to config from FileSizeReporter

* fix: improved algorithm to ignore folders while calculating file size in FileSizeReporter

* fix: changes to support containers in the future

* fix: added error handling to prevent reading of unexistent files

* feat: added generic type to SizeReporter to calculate chunk sizes

* test: use mocked DataAccessor

* chore: added some comments to test and made minor improvement

* fix: fs mock rename

* chore: QuotaStrategy.estimateSize refactor

* chore: move trackAvailableSpace to abstract class QuotaStrategy

* fix: improved test case

* test: quota integration tests

* chore: edited some comments

* chore: change lstat to stat

* feat: moved estimateSize to SizeReporter to be consistent with calcultateChunkSize

* test: finish up tests to reach coverage

* fix: basic config

* fix: minor changes to test CI run

* fix: small fix for windows

* fix: improved writing to file

* chore: linting errors

* chore: rename trackAvailableSpace

* test: improved integration tests

* test: logging info for test debugging

* test: extra logging for debugging

* test: logging for debugging

* test: logging for debugging

* test: logging for debugging

* test: improved Quota integration test setup

* test: improve quota tests for CI run

* test: debugging Quota test

* test: uncommented global quota test

* test: changed global quota parameters

* test: logging for debugging

* test: logging cleanup

* chore: minor changes, mostly typo fixes

* chore: remove console.log

* fix: getting inconsistent results

* chore: try fix index.ts CI error

* chore: try fix CI error

* chore: try fix CI error

* chore: revert last commits

* chore: fix inconsistent files with origin

* test: minor test improvements

* chore: minor refactors and improvements

* fix: added extra try catch for breaking bug

* chore: improve config

* chore: minor code improvements

* test: use mockFs

* feat: add extra check in podQuotaStrategy

* chore: replace handle by handleSafe in ValidatingDataAccessor

* chore: typo

* test: improved Quota integration tests

* test: made comment in test more correct

* fix: rm -> rmdir for backwards compatibility

* fix: fsPromises issue

* chore: leave out irrelevant config

* chore: removed start script from package.json

* fix: Small fixes

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2022-01-21 10:49:05 +01:00
Joachim Van Herwegen
221c8e65c7 chore: Update CTH docker path 2022-01-14 17:04:02 +01:00
Lorenzo Gabriele
1a50df25ec
fix: Fix login, register and forgot-password links
These links don't work unless you add a trailing slash
2022-01-10 10:39:20 +01:00
Joachim Van Herwegen
f3bb1ab711 chore: Fix typescript typings to v14 2021-12-16 16:16:15 +01:00
Lina
9a1f324685
feat: Create VoidLocker to disable locking resources
* add: Add VoidLocker and unittest

* Update src/util/locking/VoidLocker.ts

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>

* Update src/util/locking/VoidLocker.ts

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

* update: noop function and add debug void config

* add: debug-void in readme

* Update RELEASE_NOTES.md

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

* Update config/util/README.md

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

* add: missing line

Co-authored-by: lina <lina7906@gmail.com>
Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2021-12-16 15:09:58 +01:00
Joachim Van Herwegen
f49425cb10 fix(deps): Update caniuse-lite 2021-12-16 11:57:29 +01:00
renovate[bot]
a90687d410
fix(deps): update dependency jose to v4
* fix(deps): update dependency jose to v4

* fix(deps): Update code using jose v4

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2021-12-16 11:55:05 +01:00
Charlie Blevins
04e959827a fix: the link to developer-notes.md needs to be a full url when the user follows it from solid.github.io/community-server/docs/ 2021-12-16 08:52:15 +01:00
Ruben Verborgh
c085de95c6 chore: Update n3 to v1.12.2.
Fixes https://github.com/solid/community-server/issues/1094
2021-12-12 17:38:54 +00:00
Pieter Colpaert
48b29c5cc2
docs: Make pull request template more strict
* Made pull request template more strict

* Update PULL_REQUEST_TEMPLATE.md
2021-12-09 17:10:25 +01:00
Joachim Van Herwegen
4241c5348d feat: Move redirect support from IDP handler to specific handlers 2021-12-09 14:10:42 +01:00
Joachim Van Herwegen
7163a0317b feat: Support redirection through errors 2021-12-09 14:10:42 +01:00
Joachim Van Herwegen
520e4fe42f feat: Move OIDC library behaviour to separate path 2021-12-09 13:15:05 +01:00
Ruben Verborgh
9c52011add fix: Accept lowercase Authorization tokens. 2021-12-03 12:07:00 +01:00
Joachim Van Herwegen
11192ed4df Merge branch 'main' into versions/3.0.0 2021-11-22 09:20:41 +01:00
Ruben Verborgh
5a01f09f81 refactor: Simplify promiseSome. 2021-11-18 08:41:37 +00:00
Ruben Verborgh
c13456c225 fix: Make UnionCredentialsExtractor tolerate failures.
Fixes https://github.com/solid/community-server/issues/1031
2021-11-11 12:48:39 +00:00
Joachim Van Herwegen
a1579f625a chore: Create pull request template 2021-11-08 13:59:29 +01:00
Joachim Van Herwegen
fc60b5c161 feat: Update IDP parameters to latest Solid-OIDC version 2021-11-08 11:39:16 +01:00
Joachim Van Herwegen
b0208bf469 docs: Update release notes with conversion changes 2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
4d319d2564 fix: Handle JSON preferences correctly in dynamic converter 2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
c6544fac1d fix: Prefer all inputs equally when generating quads 2021-11-08 10:16:28 +01:00
Ruben Verborgh
ed287ffade test: Add content negotiation integration tests 2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
d52aa94e53 feat: Add "no conversion" as possible path in ChainedConverter 2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
fdd42bb7b3 feat: Add ContentTypeReplacer to conversion chain 2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
fa94c7d4bb feat: Determine Typed Converter output based on input type 2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
27306d6e3f refactor: Create BaseTypedRepresentationConverter 2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
06663f3079 chore: Remove docker references from Windows integration tests 2021-11-05 16:19:54 +01:00
Joachim Van Herwegen
c2d811754b chore: Run integration tests on Windows
Also removed 17.0 from unit tests due to being a non-LTS version
2021-11-05 16:13:12 +01:00
Renovate Bot
2e99cc9934 fix(deps): update dependency sparqlalgebrajs to v4 2021-11-05 16:07:20 +01:00
Joachim Van Herwegen
9f0973b039 fix: Linter warnings 2021-11-05 15:59:28 +01:00
Renovate Bot
d317215e08 fix(deps): update dependency ws and @types/ws to v8.2 2021-11-05 14:48:35 +01:00
Joachim Van Herwegen
e9d2b17938 chore: Create issue templates 2021-11-05 09:48:55 +01:00
Joachim Van Herwegen
1810a97f20 chore: Target 3.0.0 branch in conformance CI 2021-11-05 08:50:17 +01:00
Ruben Verborgh
3861e64398 chore: Fix CHANGELOG for v2.0.1. 2021-11-02 16:37:01 +01:00
Ruben Verborgh
c24fe9fba8 Release version 2.0.1 of the npm package. v2.0.1 2021-11-02 15:34:33 +01:00
Ruben Verborgh
8c9887feea fix: Do not serve UI on special pages.
Fixes https://github.com/solid/community-server/issues/1034
2021-11-02 15:07:22 +01:00
Ruben Verborgh
e1a4ef29b9 chore: Run CI on version branches. 2021-11-02 13:36:18 +01:00
Ruben Verborgh
a17731ed1e chore: Run CI on Node 17. 2021-11-02 13:23:40 +01:00
Ruben Verborgh
557ba32577 chore: Gather coverage from all OSes. 2021-11-02 13:23:23 +01:00