Skip to content

Release v7 #444

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 92 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
01ada4e
Make `title` optional in FileDTO (#399)
jkoenig134 Mar 4, 2025
6cabc83
Remove template from relationship (#301)
jkoenig134 Mar 5, 2025
94c970f
Merge branch 'main' into release/v7
mergify[bot] Mar 5, 2025
cb5bdc7
Make `title` of AuthenticationRequestItem mandatory (#442)
britsta Mar 5, 2025
97ac451
Merge branch 'main' into release/v7
mergify[bot] Mar 5, 2025
94ef695
Merge branch 'main' into release/v7
mergify[bot] Mar 6, 2025
154ce79
Remove `validFrom` and `validTo` from AbstractAttribute (#420)
jkoenig134 Mar 6, 2025
fb4d660
Add validation for `tags` of Attributes (#436)
sebbi08 Mar 6, 2025
1534c86
Merge branch 'main' into release/v7
jkoenig134 Mar 6, 2025
bf2ee4a
Failing tests after merged pull requests (#450)
britsta Mar 6, 2025
d983145
Remove `onlyValid` params (#451)
jkoenig134 Mar 6, 2025
961dd60
Use standardized test values (#445)
britsta Mar 7, 2025
cb26153
Merge branch 'main' into release/v7
mergify[bot] Mar 10, 2025
e58698e
Merge branch 'main' into release/v7
mergify[bot] Mar 11, 2025
eb8289c
Merge branch 'main' into release/v7
mergify[bot] Mar 12, 2025
d8fcff7
Merge branch 'main' into release/v7
jkoenig134 Mar 13, 2025
2b8caf8
Merge branch 'main' into release/v7
mergify[bot] Mar 14, 2025
dd926b6
Merge branch 'main' into release/v7
jkoenig134 Mar 14, 2025
2693687
Merge branch 'release/v7' of github.com:nmshd/runtime into release/v7
jkoenig134 Mar 14, 2025
98b0a08
Merge branch 'main' into release/v7
mergify[bot] Mar 14, 2025
de5e291
Merge branch 'main' into release/v7
jkoenig134 Mar 28, 2025
bcbc734
Merge branch 'main' into release/v7
jkoenig134 Apr 8, 2025
c55a7e9
Test failures (#478)
jkoenig134 Apr 8, 2025
d8650b4
Merge branch 'main' into release/v7
mergify[bot] Apr 8, 2025
99eaf1f
Merge branch 'main' into release/v7
jkoenig134 Apr 9, 2025
ee8ed82
Merge branch 'release/v7' of github.com:nmshd/runtime into release/v7
jkoenig134 Apr 9, 2025
3a01eb6
Merge branch 'main' into release/v7
mergify[bot] Apr 10, 2025
16de0a2
Merge branch 'main' into release/v7
jkoenig134 Apr 16, 2025
1e93854
Merge branch 'main' into release/v7
jkoenig134 Apr 16, 2025
f972248
Merge branch 'main' into release/v7
mergify[bot] Apr 21, 2025
17d762a
Merge branch 'main' into release/v7
mergify[bot] Apr 22, 2025
c79293a
Merge branch 'main' into release/v7
jkoenig134 Apr 22, 2025
501cf90
Merge branch 'main' into release/v7
jkoenig134 Apr 23, 2025
6962aaf
Merge branch 'main' into release/v7
jkoenig134 Apr 25, 2025
f79efb5
Merge branch 'main' into release/v7
mergify[bot] Apr 25, 2025
d02f7d7
Remove `title` from RequestItem (#490)
jkoenig134 Apr 28, 2025
1fb4ede
Merge branch 'main' into release/v7
mergify[bot] Apr 28, 2025
3297f3f
Merge branch 'main' into release/v7
mergify[bot] Apr 28, 2025
d80ea96
Remove FreeTextRequestItem (#491)
jkoenig134 Apr 28, 2025
196519d
Merge branch 'main' into release/v7
jkoenig134 Apr 29, 2025
97eb7de
Merge branch 'main' into release/v7
mergify[bot] Apr 29, 2025
82e0172
Merge branch 'main' into release/v7
mergify[bot] Apr 30, 2025
448b465
Merge branch 'main' into release/v7
mergify[bot] Apr 30, 2025
cf00368
Merge branch 'main' into release/v7
mergify[bot] Apr 30, 2025
b6f9f96
Merge branch 'main' into release/v7
mergify[bot] Apr 30, 2025
fc047c3
Merge branch 'main' into release/v7
jkoenig134 Apr 30, 2025
32edf0f
Merge branch 'release/v7' of github.com:nmshd/runtime into release/v7
jkoenig134 Apr 30, 2025
e4fe1c3
Merge branch 'main' into release/v7
mergify[bot] Apr 30, 2025
8d8961f
Merge branch 'main' into release/v7
jkoenig134 May 5, 2025
f318004
Validate tags in CanCreateRepositoryAttribute (#504)
Milena-Czierlinski May 5, 2025
d889851
Merge branch 'main' into release/v7
mergify[bot] May 5, 2025
6c37ab2
Add validateTagsForType (#506)
Milena-Czierlinski May 5, 2025
03d4ed7
Merge branch 'main' into release/v7
mergify[bot] May 5, 2025
5f36481
Merge branch 'main' into release/v7
mergify[bot] May 5, 2025
53c3710
Merge branch 'main' into release/v7
mergify[bot] May 5, 2025
55d0238
Merge branch 'main' into release/v7
mergify[bot] May 6, 2025
be164ae
Merge branch 'main' into release/v7
mergify[bot] May 6, 2025
cfb4d9c
Merge branch 'main' into release/v7
mergify[bot] May 6, 2025
fa0f625
Merge branch 'main' into release/v7
mergify[bot] May 6, 2025
88e11f9
Merge branch 'main' into release/v7
mergify[bot] May 6, 2025
ba15268
Validate tags of Files (#507)
Milena-Czierlinski May 6, 2025
55a91e0
Merge branch 'main' into release/v7
jkoenig134 May 7, 2025
a2b10cd
Remove truncatedReference from DTOs (#527)
jkoenig134 May 7, 2025
cda3345
Merge branch 'main' into release/v7
mergify[bot] May 8, 2025
c52d548
Merge branch 'main' into release/v7
jkoenig134 May 8, 2025
056b865
fix: misleading error code used (#532)
britsta May 8, 2025
6ba95da
Merge branch 'main' into release/v7
jkoenig134 May 8, 2025
a524ec6
Merge branch 'main' into release/v7
mergify[bot] May 8, 2025
72b478f
Merge branch 'main' into release/v7
jkoenig134 May 8, 2025
aedcac1
Remove deprecated methods and types (#537)
jkoenig134 May 8, 2025
97e616e
Merge branch 'main' into release/v7
mergify[bot] May 9, 2025
d95d6d1
Make tag validation less breaking (#541)
jkoenig134 May 13, 2025
1e9bc0e
Do not process nmshd links anymore (#544)
jkoenig134 May 14, 2025
c9f20af
Merge branch 'main' into release/v7
jkoenig134 May 15, 2025
3c3ce47
Merge branch 'main' into release/v7
mergify[bot] May 15, 2025
03c9130
Merge branch 'main' into release/v7
mergify[bot] May 15, 2025
e386896
Merge branch 'main' into release/v7
mergify[bot] May 16, 2025
ec431f4
Merge branch 'main' into release/v7
mergify[bot] May 16, 2025
d415ff9
Merge branch 'main' into release/v7
mergify[bot] May 17, 2025
b7fa754
Merge branch 'main' into release/v7
mergify[bot] May 17, 2025
1c232e0
Merge branch 'main' into release/v7
mergify[bot] May 19, 2025
7463345
Merge branch 'main' into release/v7
mergify[bot] May 19, 2025
b5044b3
Merge branch 'main' into release/v7
mergify[bot] May 19, 2025
aebeccf
Merge branch 'main' into release/v7
mergify[bot] May 20, 2025
10a7496
Merge branch 'main' into release/v7
jkoenig134 May 20, 2025
dec4bbd
Merge branch 'main' into release/v7
mergify[bot] May 20, 2025
351b1fb
Merge branch 'main' into release/v7
mergify[bot] May 21, 2025
7c8d21d
Merge branch 'main' into release/v7
mergify[bot] May 21, 2025
2b8713b
Merge branch 'main' into release/v7
jkoenig134 May 21, 2025
fc0ffb4
Merge branch 'main' into release/v7
mergify[bot] May 22, 2025
2b3b578
Merge branch 'main' into release/v7
mergify[bot] May 23, 2025
f7673e8
Merge branch 'main' into release/v7
mergify[bot] May 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 4 additions & 76 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/app-runtime/src/AppStringProcessor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export class AppStringProcessor {
url = url.trim();

const parsed = new URL(url);
const allowedProtocols = ["http:", "https:", "nmshd:"];
const allowedProtocols = ["http:", "https:"];
if (!allowedProtocols.includes(parsed.protocol)) return Result.fail(AppRuntimeErrors.appStringProcessor.wrongURL());

return await this.processReference(url, account);
Expand Down
2 changes: 1 addition & 1 deletion packages/app-runtime/test/lib/TestUtil.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export class TestUtil {
})
).value;

const templateTo = await to.transportServices.relationshipTemplates.loadPeerRelationshipTemplate({ reference: templateFrom.truncatedReference });
const templateTo = await to.transportServices.relationshipTemplates.loadPeerRelationshipTemplate({ reference: templateFrom.reference.truncated });
return templateTo.value;
}

Expand Down
4 changes: 2 additions & 2 deletions packages/app-runtime/test/modules/MessageEventing.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ describe("MessageEventingTest", function () {
const mail: MailJSON = {
"@type": "Mail",
to: [recipient],
subject: "Hallo Horst",
body: "Hallo, hier ist eine Mail."
subject: "aSubject",
body: "aBody"
};
const message = await TestUtil.sendMessage(sessionA, sessionB, mail);
const eventListener = new EventListener(runtime, [MailReceivedEvent, MessageReceivedEvent]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ describe("RelationshipTemplateProcessedModule", function () {
await TestUtil.createAndLoadPeerTemplate(
session1,
session2,
RelationshipTemplateContent.from({ onNewRelationship: { items: [AuthenticationRequestItem.from({ mustBeAccepted: false })] } }).toJSON()
RelationshipTemplateContent.from({ onNewRelationship: { items: [AuthenticationRequestItem.from({ title: "aTitle", mustBeAccepted: false })] } }).toJSON()
);
await eventBus.waitForRunningEventHandlers();

Expand All @@ -55,15 +55,15 @@ describe("RelationshipTemplateProcessedModule", function () {
const templateFrom = (
await session1.transportServices.relationshipTemplates.createOwnRelationshipTemplate({
content: RelationshipTemplateContent.from({
onNewRelationship: { expiresAt: CoreDate.utc().add({ seconds: 2 }), items: [AuthenticationRequestItem.from({ mustBeAccepted: false })] }
onNewRelationship: { expiresAt: CoreDate.utc().add({ seconds: 2 }), items: [AuthenticationRequestItem.from({ title: "aTitle", mustBeAccepted: false })] }
}).toJSON(),
expiresAt: CoreDate.utc().add({ minutes: 5 }).toString(),
maxNumberOfAllocations: 1
})
).value;

await sleep(3000);
await session2.transportServices.relationshipTemplates.loadPeerRelationshipTemplate({ reference: templateFrom.truncatedReference });
await session2.transportServices.relationshipTemplates.loadPeerRelationshipTemplate({ reference: templateFrom.reference.truncated });
await eventBus.waitForRunningEventHandlers();

expect(uiBridge).showRequestNotCalled();
Expand All @@ -78,11 +78,11 @@ describe("RelationshipTemplateProcessedModule", function () {
content: RelationshipTemplateContent.from({
onNewRelationship: {
"@type": "Request",
items: [{ "@type": "AuthenticationRequestItem", mustBeAccepted: false }]
items: [{ "@type": "AuthenticationRequestItem", title: "aTitle", mustBeAccepted: false }]
},
onExistingRelationship: {
"@type": "Request",
items: [{ "@type": "AuthenticationRequestItem", mustBeAccepted: false }],
items: [{ "@type": "AuthenticationRequestItem", title: "aTitle", mustBeAccepted: false }],
expiresAt: CoreDate.utc().add({ seconds: 2 }).toString()
}
}).toJSON(),
Expand All @@ -92,7 +92,7 @@ describe("RelationshipTemplateProcessedModule", function () {
).value;

await sleep(3000);
await session2.transportServices.relationshipTemplates.loadPeerRelationshipTemplate({ reference: templateFrom.truncatedReference });
await session2.transportServices.relationshipTemplates.loadPeerRelationshipTemplate({ reference: templateFrom.reference.truncated });
await eventBus.waitForRunningEventHandlers();

expect(uiBridge).showRequestNotCalled();
Expand Down
52 changes: 24 additions & 28 deletions packages/app-runtime/test/runtime/AppStringProcessor.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ describe("AppStringProcessor", function () {
mockUiBridge.reset();
});

test("should process an invalid URL", async function () {
const result = await runtime1.stringProcessor.processURL("enmeshed://qr#", runtime1Session.account);
test.each(["nmshd", "enmeshed"])("should process the invalid URL scheme %s", async function (scheme) {
const result = await runtime1.stringProcessor.processURL(`${scheme}://qr#`, runtime1Session.account);
expect(result.isError).toBe(true);

expect(result.error.code).toBe("error.appruntime.appStringProcessor.wrongURL");
Expand All @@ -53,16 +53,6 @@ describe("AppStringProcessor", function () {
expect(mockUiBridge).requestAccountSelectionNotCalled();
});

test("should process a valid URL with invalid reference", async function () {
const result = await runtime1.stringProcessor.processURL("nmshd://qr#", runtime1Session.account);
expect(result.isError).toBe(true);

expect(result.error.code).toBe("error.appruntime.appStringProcessor.invalidReference");

expect(mockUiBridge).enterPasswordNotCalled();
expect(mockUiBridge).requestAccountSelectionNotCalled();
});

test("should properly handle a personalized RelationshipTemplate with the correct Identity available", async function () {
const runtime2SessionAAddress = runtime2SessionA.account.address!;
assert(runtime2SessionAAddress);
Expand All @@ -73,7 +63,7 @@ describe("AppStringProcessor", function () {
forIdentity: runtime2SessionAAddress
});

const result = await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);
expect(result).toBeSuccessful();

await expect(eventBus).toHavePublished(PeerRelationshipTemplateLoadedEvent);
Expand All @@ -92,7 +82,7 @@ describe("AppStringProcessor", function () {
forIdentity: runtime1SessionAddress
});

const result = await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);
expect(result).toBeAnError("There is no account matching the given 'forIdentityTruncated'.", "error.appruntime.general.noAccountAvailableForIdentityTruncated");

expect(mockUiBridge).enterPasswordNotCalled();
Expand All @@ -109,7 +99,7 @@ describe("AppStringProcessor", function () {
mockUiBridge.setPasswordToReturnForAttempt(1, "password");
mockUiBridge.accountIdToReturn = runtime2SessionA.account.id;

const result = await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand All @@ -129,7 +119,7 @@ describe("AppStringProcessor", function () {
mockUiBridge.setPasswordToReturnForAttempt(1, "000000");
mockUiBridge.accountIdToReturn = runtime2SessionA.account.id;

const result = await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand All @@ -149,7 +139,7 @@ describe("AppStringProcessor", function () {

mockUiBridge.setPasswordToReturnForAttempt(1, "password");

const result = await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand All @@ -169,7 +159,7 @@ describe("AppStringProcessor", function () {

mockUiBridge.setPasswordToReturnForAttempt(1, "000000");

const result = await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand All @@ -191,7 +181,7 @@ describe("AppStringProcessor", function () {

mockUiBridge.accountIdToReturn = runtime2SessionA.account.id;

const result = await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand All @@ -212,7 +202,7 @@ describe("AppStringProcessor", function () {
mockUiBridge.setPasswordToReturnForAttempt(1, "password");
mockUiBridge.accountIdToReturn = runtime2SessionA.account.id;

await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);

expect(mockUiBridge).enterPasswordCalled("pw", undefined, undefined, PasswordLocationIndicatorOptions.SMS);
});
Expand All @@ -227,7 +217,7 @@ describe("AppStringProcessor", function () {
mockUiBridge.setPasswordToReturnForAttempt(1, "password");
mockUiBridge.accountIdToReturn = runtime2SessionA.account.id;

await runtime2.stringProcessor.processReference(templateResult.value.truncatedReference);
await runtime2.stringProcessor.processReference(templateResult.value.reference.truncated);

expect(mockUiBridge).enterPasswordCalled("pw", undefined, undefined, 50);
});
Expand All @@ -252,7 +242,7 @@ describe("AppStringProcessor", function () {

mockUiBridge.setPasswordToReturnForAttempt(1, "password");

const result = await runtime2.stringProcessor.processDeviceOnboardingReference(tokenResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processDeviceOnboardingReference(tokenResult.value.reference.truncated);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand All @@ -267,7 +257,7 @@ describe("AppStringProcessor", function () {

mockUiBridge.setPasswordToReturnForAttempt(1, "password");

const result = await runtime2.stringProcessor.processDeviceOnboardingReference(tokenResult.value.truncatedReference);
const result = await runtime2.stringProcessor.processDeviceOnboardingReference(tokenResult.value.reference.truncated);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand Down Expand Up @@ -423,7 +413,9 @@ describe("AppStringProcessor", function () {

test("get a template using a url", async function () {
const templateResult = await runtime1Session.transportServices.relationshipTemplates.createOwnRelationshipTemplate({
content: RelationshipTemplateContent.from({ onNewRelationship: { items: [AuthenticationRequestItem.from({ mustBeAccepted: false })] } }).toJSON(),
content: RelationshipTemplateContent.from({
onNewRelationship: { items: [AuthenticationRequestItem.from({ mustBeAccepted: false, title: "anAuthentication" })] }
}).toJSON(),
expiresAt: CoreDate.utc().add({ days: 1 }).toISOString()
});
const template = templateResult.value;
Expand All @@ -439,7 +431,9 @@ describe("AppStringProcessor", function () {

test("get a template using a url including forIdentity and passwordProtection", async function () {
const templateResult = await runtime1Session.transportServices.relationshipTemplates.createOwnRelationshipTemplate({
content: RelationshipTemplateContent.from({ onNewRelationship: { items: [AuthenticationRequestItem.from({ mustBeAccepted: false })] } }).toJSON(),
content: RelationshipTemplateContent.from({
onNewRelationship: { items: [AuthenticationRequestItem.from({ mustBeAccepted: false, title: "anAuthentication" })] }
}).toJSON(),
expiresAt: CoreDate.utc().add({ days: 1 }).toISOString(),
forIdentity: runtime4Session.account.address!,
passwordProtection: { password: "password" }
Expand All @@ -459,7 +453,9 @@ describe("AppStringProcessor", function () {

test("get a template in a token using a url", async function () {
const templateResult = await runtime1Session.transportServices.relationshipTemplates.createOwnRelationshipTemplate({
content: RelationshipTemplateContent.from({ onNewRelationship: { items: [AuthenticationRequestItem.from({ mustBeAccepted: false })] } }).toJSON(),
content: RelationshipTemplateContent.from({
onNewRelationship: { items: [AuthenticationRequestItem.from({ mustBeAccepted: false, title: "anAuthentication" })] }
}).toJSON(),
expiresAt: CoreDate.utc().add({ days: 1 }).toISOString(),
forIdentity: runtime4Session.account.address!,
passwordProtection: { password: "password" }
Expand All @@ -485,7 +481,7 @@ describe("AppStringProcessor", function () {
expect(runtime4MockUiBridge).showRequestCalled();
});

test.each(["nmshd", "http"])("get file using a nmshd url with %s protocol", async function (replacement) {
test("get file using a url with http protocol", async function () {
const fileResult = await runtime1Session.transportServices.files.uploadOwnFile({
filename: "aFileName",
content: new TextEncoder().encode("aFileContent"),
Expand All @@ -494,7 +490,7 @@ describe("AppStringProcessor", function () {
});
const file = fileResult.value;

const result = await runtime4.stringProcessor.processURL(file.reference.url.replace("https", replacement), runtime4Session.account);
const result = await runtime4.stringProcessor.processURL(file.reference.url.replace("https", "http"), runtime4Session.account);
expect(result).toBeSuccessful();
expect(result.value).toBeUndefined();

Expand Down
6 changes: 3 additions & 3 deletions packages/app-runtime/test/runtime/Onboarding.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ describe("Onboarding", function () {
passwordProtection: { password: "aPassword" }
});

const token = await runtime2.anonymousServices.tokens.loadPeerToken({ reference: recoveryKitResponse.value.truncatedReference, password: "aPassword" });
const token = await runtime2.anonymousServices.tokens.loadPeerToken({ reference: recoveryKitResponse.value.reference.truncated, password: "aPassword" });
const deviceOnboardingDTO = DeviceMapper.toDeviceOnboardingInfoDTO(DeviceSharedSecret.from(token.value.content.sharedSecret));

const result = await runtime2.accountServices.onboardAccount(deviceOnboardingDTO);
expect(result.address!).toBe((await services1.transportServices.account.getIdentityInfo()).value.address);

const anonymousTokenResponse = await runtime2.anonymousServices.tokens.loadPeerToken({ reference: recoveryKitResponse.value.truncatedReference, password: "aPassword" });
const anonymousTokenResponse = await runtime2.anonymousServices.tokens.loadPeerToken({ reference: recoveryKitResponse.value.reference.truncated, password: "aPassword" });
expect(anonymousTokenResponse).toBeAnError(
"Token not found. Make sure the ID exists and the record is not expired. If a password is required to fetch the record, make sure you passed the correct one.",
"error.runtime.recordNotFound"
Expand All @@ -63,7 +63,7 @@ describe("Onboarding", function () {
passwordProtection: { password: "aPassword" }
});

const token = await runtime3.anonymousServices.tokens.loadPeerToken({ reference: recoveryKitResponse.value.truncatedReference, password: "aPassword" });
const token = await runtime3.anonymousServices.tokens.loadPeerToken({ reference: recoveryKitResponse.value.reference.truncated, password: "aPassword" });
const deviceOnboardingDTO = DeviceMapper.toDeviceOnboardingInfoDTO(DeviceSharedSecret.from(token.value.content.sharedSecret));

const result = await runtime3.accountServices.onboardAccount(deviceOnboardingDTO);
Expand Down
3 changes: 0 additions & 3 deletions packages/consumption/src/consumption/ConsumptionController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import {
CreateAttributeRequestItem,
DeleteAttributeRequestItem,
FormFieldRequestItem,
FreeTextRequestItem,
OwnSharedAttributeDeletedByOwnerNotificationItem,
PeerSharedAttributeDeletedByPeerNotificationItem,
PeerSharedAttributeSucceededNotificationItem,
Expand All @@ -24,7 +23,6 @@ import {
DeleteAttributeRequestItemProcessor,
DraftsController,
FormFieldRequestItemProcessor,
FreeTextRequestItemProcessor,
GenericRequestItemProcessor,
IdentityMetadataController,
IncomingRequestsController,
Expand Down Expand Up @@ -162,7 +160,6 @@ export class ConsumptionController {
[ConsentRequestItem, GenericRequestItemProcessor],
[AuthenticationRequestItem, GenericRequestItemProcessor],
[RegisterAttributeListenerRequestItem, RegisterAttributeListenerRequestItemProcessor],
[FreeTextRequestItem, FreeTextRequestItemProcessor],
[FormFieldRequestItem, FormFieldRequestItemProcessor],
[TransferFileOwnershipRequestItem, TransferFileOwnershipRequestItemProcessor]
]);
Expand Down
4 changes: 4 additions & 0 deletions packages/consumption/src/consumption/ConsumptionCoreErrors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,10 @@ class Attributes {
public setDefaultRepositoryAttributesIsDisabled() {
return new CoreError("error.consumption.attributes.setDefaultRepositoryAttributesIsDisabled", "Setting default RepositoryAttributes is disabled for this Account.");
}

public invalidTags(tags: string[]): ApplicationError {
return new ApplicationError("error.consumption.attributes.invalidTags", `Detected invalidity of the following tags: '${tags.join("', '")}'.`);
}
}

class Requests {
Expand Down
Loading