893 Commits

Author SHA1 Message Date
Joachim Van Herwegen
fdee4b334f fix: Prevent illegal file paths from being generated 2023-06-09 09:03:37 +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
5347025720 fix: Make sure locker allows reentrant lock acquisition 2023-05-02 09:27:31 +02:00
Joachim Van Herwegen
0d5d072f79 fix: Make aggregated errors prettier 2023-05-02 09:26:42 +02:00
Joachim Van Herwegen
4b7621f9e0 feat: Support both the old and new WebSocket specifications together 2023-04-27 11:27:34 +02:00
Joachim Van Herwegen
69af7c4e16 feat: Use WebSocket2023Channel identifier for WebSocket URL 2023-04-27 11:27:34 +02:00
Joachim Van Herwegen
d6b438cd7b chore: Update jest and TypeScript dependencies 2023-04-27 10:47:30 +02:00
Joachim Van Herwegen
b250beaec9 fix: Support new ETag format in notification states 2023-04-26 13:25:06 +02:00
Joachim Van Herwegen
d6be724a12 Merge branch 'main' into versions/6.0.0
# Conflicts:
#	config/ldp/authorization/readers/access-checkers/agent-group.json
2023-04-24 11:21:59 +02:00
Joachim Van Herwegen
d59a1595d5 feat: Replace WebHookSubscription2021 with WebHookChannel2023 2023-04-24 11:00:54 +02:00
Joachim Van Herwegen
e9463483f4 feat: Allow unsubscribing from all notification channels 2023-04-24 10:18:17 +02:00
Joachim Van Herwegen
134237a80f feat: Support Add/Remove notifications on containers 2023-04-20 15:42:04 +02:00
Joachim Van Herwegen
9e1e65cdb9 refactor: Rename internal activity vocabulary
The original URL does not exist so should use an internal value for now.
Renamed to `activity` as predicates tend to be lower case.
2023-04-20 15:42:04 +02:00
Joachim Van Herwegen
702e8f5f59 feat: Replace WebSocketSubscription2021 with WebSocketChannel2023 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
cbbb10afa1 feat: Use URLs for channel identifiers
In the future these can potentially be used to dereference them
2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
67d1ff4ac0 feat: Ignore unsupported notifications features in subscriptions 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
65860f77da feat: Support GET requests on subscription services
Doing a GET request on a subscription resource
will return the expected representation.
Content negotiation is supported.
2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
b2f4d7fb2d fix: Update the lastEmit value after sending a notification 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
3a0c8159df test: Check the correct WebID in the WebHookEmitter tests 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
c36f15e2da feat: Generalize and extend notification channel type behaviour 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
7d029a9465 feat: Remove NotificationChannelInfo generics 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
8d31233075 refactor: Rename NotificationChannelInfo to NotificationChannel 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
61f04487a1 refactor: Rename subscription to notification channel 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
7c343a5fcc feat: Update notification object to match the updated examples 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
caee563dd6 feat: Replace expiration feature with startAt and endAt 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
10980e90a3 feat: Use notification v0.2 features in discovery 2023-04-20 14:32:13 +02:00
Joachim Van Herwegen
23db528472 fix: Replace inefficient storage detection
This replaces the recursive backend calls to find the storage
by a new class that is aware what the storage URLs look like.
2023-04-19 09:47:47 +02:00
Joachim Van Herwegen
c3f48ddb97 fix: Ensure the ETag is representation specific 2023-04-18 10:41:48 +02:00
Joachim Van Herwegen
7fd0b50383 fix: Store internal JWK as JWKS to be backwards compatible 2023-04-17 15:19:50 +02:00
zg009
f0596c2eb8
feat: Support conditions for GET/HEAD requests
* fix: updated WrappedExpiringStorage tests and timer.unref calls

* fix: removed finalizable configs and inheritors that only used timer

* fix: updated test function to test setSafeInterval and timer.unref

* fix: added NotModifiedHttpError class

* fix: added 304 error test to HttpError test file

* fix: 304 errors when making read request with matching ETag

* Update src/util/errors/NotModifiedHttpError.ts

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

* fix: updated tests

* fix: try notMatchesEtag in test

* fix: DataAccessorBasedStore test passes

* fix: removed conditions check and added extra test

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2023-03-28 09:24:15 +02:00
zg009
b6faed0db3
fix: Updated WrappedExpiringStorage to use timer.unref
* fix: updated WrappedExpiringStorage tests and timer.unref calls

* fix: removed finalizable configs and inheritors that only used timer

* fix: updated test function to test setSafeInterval and timer.unref
2023-03-13 08:30:42 +01:00
Joachim Van Herwegen
63fd062f16 fix: Output required OAuth error fields 2023-03-07 08:36:58 +01:00
Joachim Van Herwegen
bb7427842c fix: Do not add port 80 to default base URL 2023-02-13 10:11:42 +01:00
Joachim Van Herwegen
c332412074
feat: Provide clear error message for unknown clients
* feat: Provide clear error message for unknown clients

* docs: Rephrase error message.

* docs: Update error message to reference local storage

---------

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
2023-02-10 10:13:53 +01:00
Pasini Luca
2efc141baa feat: SeededPodInitializer log exceptions as warning instead of crashing 2023-02-03 10:27:58 +01:00
Joachim Van Herwegen
d9c0e9b043 chore(release): Update configs to v6.0.0 2023-02-01 10:54:37 +01:00
Joachim Van Herwegen
7cc0e3fbcc Merge branch 'main' into versions/6.0.0
# Conflicts:
#	src/init/ServerInitializer.ts
#	src/server/BaseHttpServerFactory.ts
#	src/server/HttpServerFactory.ts
#	src/server/WebSocketServerFactory.ts
#	test/unit/server/BaseHttpServerFactory.test.ts
2023-02-01 10:13:04 +01:00
Joachim Van Herwegen
0d6b895df3 feat: Hash lock-related identifiers 2023-02-01 09:47:13 +01:00
Joachim Van Herwegen
7422fbffe7 feat: Take preferences as input in RepresentationConvertingStore 2023-01-11 16:03:30 +01:00
Arthur Joppart
5c79e60238
feat: return clear error when multiple values for a cli flag are given
* feat: return clear error when multiple values for a cli flag are given

* chore: change function signature

* test: add testcase for array type yargs parameter
2022-12-05 13:36:54 +01:00
Jesse Wright
d61bf9bf19 feat: allow css configuration from package.json or config file 2022-11-24 14:25:33 +01:00
Joachim Van Herwegen
c46d01d3d7 feat: Remove agent/user permission differentiation
This was only used for the WAC-Allow header and greatly simplifies how we use permissions.
2022-11-18 16:08:06 +01:00
Joachim Van Herwegen
6ad5c0c797 feat: Move WAC-Allow metadata collecting to HTTP handler
This depends on all auth related handlers to cache their results.
This allows us to remove the permission field from Operation.
2022-11-18 16:08:06 +01:00
Joachim Van Herwegen
9b15b1d7e1 feat: Allow CachedHandler to cache on multiple object fields 2022-11-18 16:08:06 +01:00
Koen Luyten
bf0e35be37 feat: allow server to bind to Unix Domain Sockets 2022-11-18 15:41:20 +01:00
Joachim Van Herwegen
f54c34d1e0 feat: Add support for WebHookSubscription2021 2022-11-15 15:50:05 +01:00
Joachim Van Herwegen
cb619415fa refactor: Move WebSocket URL handling to utility functions 2022-11-15 15:50:05 +01:00
Joachim Van Herwegen
bc119dbd3e chore: Move JWK generation to separate class 2022-11-15 15:50:05 +01:00
Joachim Van Herwegen
334364918f test: Disable notifications when testing the file locker
There is a conflict between notifications being sent out right before a test stops,
and the file locker trying to clean up the locks folder.
This only has an impact when shutting down the server so has no real impact,
but should still be fixed eventually so we can easily write tests.
2022-11-09 09:10:00 +01:00
Joachim Van Herwegen
b1f7a6a8b1 feat: Add support for WebSocketSubscription2021 2022-11-09 09:10:00 +01:00