Merge remote-tracking branch 'origin/develop' #65
Annotations
10 errors, 24 warnings, and 1 notice
|
frontend/tests/pages/mailPages.ts#L38
1) [chromium] › userPage.test.ts:31:1 › can reset password ───────────────────────────────────────
Error: Failed to find email: Your password was changed (0)
Timeout 10000ms exceeded while waiting on the predicate
at pages/mailPages.ts:38
36 | }
37 | await email.click();
> 38 | }, `Failed to find email: ${subject} (${index})`).toPass({timeout: 10_000}); // This auto-retries on a reasonable schedule
| ^
39 | return await this.getEmailPage().waitFor();
40 | }
41 | }
at MailinatorInboxPage.openEmail (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/mailPages.ts:38:55)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/userPage.test.ts:50:37
|
frontend/tests/fixtures.ts#L37
1) [chromium] › userPage.test.ts:31:1 › can reset password ───────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Unexpected response status: 503. (undefined)
expect(received).toBeLessThan(expected)
Expected: < 500
Received: 503
at fixtures.ts:37
35 | context.addListener('response', response => {
36 | const traceparent = response.request().headers()['Traceparent'];
> 37 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(500);
| ^
38 | if (response.request().isNavigationRequest()) {
39 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(400);
40 | }
at BrowserContext.<anonymous> (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:37:106)
|
frontend/tests/fixtures.ts#L37
1) [chromium] › userPage.test.ts:31:1 › can reset password ───────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Unexpected response status: 503. (undefined)
expect(received).toBeLessThan(expected)
Expected: < 500
Received: 503
at fixtures.ts:37
35 | context.addListener('response', response => {
36 | const traceparent = response.request().headers()['Traceparent'];
> 37 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(500);
| ^
38 | if (response.request().isNavigationRequest()) {
39 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(400);
40 | }
at BrowserContext.<anonymous> (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:37:106)
|
frontend/tests/pages/basePage.ts#L53
1) [chromium] › userPage.test.ts:31:1 › can reset password ───────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 10000ms waiting for expect(locator).toHaveURL(expected)
Locator: locator(':root')
Expected pattern: /\/($|\?|#)/
Received string: "https://staging.languagedepot.org/register"
Call log:
- expect.toHaveURL with timeout 10000ms
- waiting for locator(':root')
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/register"
at pages/basePage.ts:53
51 | } else {
52 | // first use expect() so we get a good error message
> 53 | await expect(this.page).toHaveURL(this.urlPattern, {timeout: 10_000});
| ^
54 | // still wait to ensure we reach the state we expect
55 | await this.page.waitForURL(this.urlPattern, {waitUntil: 'load'});
56 | }
at UserDashboardPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:53:31)
at registerUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:35:37)
at Object.tempUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:74:24)
|
frontend/tests/pages/mailPages.ts#L38
2) [chromium] › emailWorkflow.test.ts:78:1 › forgot password ─────────────────────────────────────
Error: Failed to find email: Forgot your password? (0)
Timeout 10000ms exceeded while waiting on the predicate
at pages/mailPages.ts:38
36 | }
37 | await email.click();
> 38 | }, `Failed to find email: ${subject} (${index})`).toPass({timeout: 10_000}); // This auto-retries on a reasonable schedule
| ^
39 | return await this.getEmailPage().waitFor();
40 | }
41 | }
at MailinatorInboxPage.openEmail (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/mailPages.ts:38:55)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:89:37
|
frontend/tests/fixtures.ts#L37
3) [chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ───────────────────
Error: Unexpected response status: 500. (undefined)
expect(received).toBeLessThan(expected)
Expected: < 500
Received: 500
at fixtures.ts:37
35 | context.addListener('response', response => {
36 | const traceparent = response.request().headers()['Traceparent'];
> 37 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(500);
| ^
38 | if (response.request().isNavigationRequest()) {
39 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(400);
40 | }
at BrowserContext.<anonymous> (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:37:106)
|
frontend/tests/fixtures.ts#L37
3) [chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ───────────────────
Error: Unexpected response status: 500. (undefined)
expect(received).toBeLessThan(expected)
Expected: < 500
Received: 500
at fixtures.ts:37
35 | context.addListener('response', response => {
36 | const traceparent = response.request().headers()['Traceparent'];
> 37 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(500);
| ^
38 | if (response.request().isNavigationRequest()) {
39 | expect.soft(response.status(), `Unexpected response status: ${response.status()}. (${traceparent})`).toBeLessThan(400);
40 | }
at BrowserContext.<anonymous> (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:37:106)
|
frontend/tests/pages/basePage.ts#L53
4) [firefox] › adminPage.test.ts:6:1 › can navigate to project page ──────────────────────────────
Error: Timed out 10000ms waiting for expect(locator).toHaveURL(expected)
Locator: locator(':root')
Expected pattern: /\/admin($|\?|#)/
Received string: "https://staging.languagedepot.org/login"
Call log:
- expect.toHaveURL with timeout 10000ms
- waiting for locator(':root')
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
- locator resolved to <html lang="en">…</html>
- unexpected value "https://staging.languagedepot.org/login"
at pages/basePage.ts:53
51 | } else {
52 | // first use expect() so we get a good error message
> 53 | await expect(this.page).toHaveURL(this.urlPattern, {timeout: 10_000});
| ^
54 | // still wait to ensure we reach the state we expect
55 | await this.page.waitForURL(this.urlPattern, {waitUntil: 'load'});
56 | }
at AdminDashboardPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:53:31)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/adminPage.test.ts:10:56
|
|
backend/FixFwData/Program.cs#L1
The variable 'doNothing' is assigned but its value is never used
|
backend/MiniLcm/InMemoryApi.cs#L195
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
backend/MiniLcm/InMemoryApi.cs#L214
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
backend/LfClassicData/LfClassicLexboxApi.cs#L170
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
backend/LcmCrdt/LcmCrdtKernel.cs#L4
The using directive for 'Crdt' appeared previously in this namespace
|
backend/LcmCrdt/CrdtLexboxApi.cs#L13
Parameter 'timeProvider' is unread.
|
backend/LocalWebApp/BackgroundSyncService.cs#L9
Parameter 'serviceProvider' is unread.
|
backend/LocalWebApp/CrdtHttpSyncService.cs#L58
Parameter 'originDomain' is unread.
|
backend/LocalWebApp/LexboxApiHub.cs#L16
Parameter 'jsonOptions' is unread.
|
backend/LocalWebApp/Routes/HistoryRoutes.cs#L44
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
|
|
backend/LfClassicData/LfClassicLexboxApi.cs#L170
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
backend/LcmCrdt/LcmCrdtKernel.cs#L4
The using directive for 'Crdt' appeared previously in this namespace
|
backend/LcmCrdt/CrdtLexboxApi.cs#L13
Parameter 'timeProvider' is unread.
|
backend/LexBoxApi/Services/UserService.cs#L7
Parameter 'lexAuthService' is unread.
|
backend/LexBoxApi/Auth/JwtTicketDataFormat.cs#L122
'JwtBearerOptions.SecurityTokenValidators' is obsolete: 'SecurityTokenValidators is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenValidators, set UseSecurityTokenValidators to true. See https://aka.ms/aspnetcore8/security-token-changes'
|
backend/LexBoxApi/Services/HgService.cs#L308
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. For example, the pattern '(LexBoxApi.Services.RepoEmptyState)2' is not covered.
|
backend/LexBoxApi/Jobs/CleanupResetBackupJob.cs#L7
Parameter 'hgService' is unread.
|
backend/LexBoxApi/Controllers/IntegrationController.cs#L62
Action method returns undeclared status code '404'
|
backend/LexBoxApi/GraphQL/CustomTypes/IsLanguageForgeProjectDataLoader.cs#L27
Method referencing lambda parameter is not supported LINQ expression. (https://www.mongodb.com/docs/mongodb-analyzer/current/rules/#MALinq2001)
|
frontend/[firefox] › emailWorkflow.test.ts#L1
frontend/[firefox] › emailWorkflow.test.ts took 41.4s
|
frontend/[firefox] › errorHandling.test.ts#L1
frontend/[firefox] › errorHandling.test.ts took 39.7s
|
frontend/[chromium] › errorHandling.test.ts#L1
frontend/[chromium] › errorHandling.test.ts took 27.3s
|
frontend/[firefox] › userPage.test.ts#L1
frontend/[firefox] › userPage.test.ts took 23.9s
|
1 failed
[chromium] › userPage.test.ts:31:1 › can reset password ────────────────────────────────────────
3 flaky
[chromium] › emailWorkflow.test.ts:78:1 › forgot password ──────────────────────────────────────
[chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ────────────────────
[firefox] › adminPage.test.ts:6:1 › can navigate to project page ───────────────────────────────
56 passed (5.8m)
|
This job failed
Loading