Skip to content

Commit 6bf928b

Browse files
authored
Merge branch 'master' into stylelint
2 parents 4af3718 + 7c48be1 commit 6bf928b

99 files changed

Lines changed: 2961 additions & 871 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/monkey-ci.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ env:
77

88
permissions:
99
contents: read
10-
issues: write
11-
pull-requests: write
1210

1311
on:
1412
pull_request:
@@ -39,7 +37,7 @@ jobs:
3937
if: github.event_name != 'pull_request'
4038

4139
- name: Detect changes
42-
uses: dorny/paths-filter@v3
40+
uses: dorny/paths-filter@v4
4341
id: filter
4442
with:
4543
filters: |
@@ -56,8 +54,6 @@ jobs:
5654
- 'packages/**/*'
5755
anti-cheat:
5856
- 'backend/**/anticheat/**'
59-
workflows:
60-
- '.github/workflows/**/*'
6157
6258
- name: Check Anti-cheat
6359
if: steps.filter.outputs.anti-cheat == 'true' && !contains(github.event.pull_request.labels.*.name, 'force-ci') && !contains(github.event.pull_request.labels.*.name, 'force-full-ci')
@@ -229,7 +225,7 @@ jobs:
229225
frontend
230226
packages
231227
232-
- uses: dorny/paths-filter@v3
228+
- uses: dorny/paths-filter@v4
233229
id: filter
234230
with:
235231
filters: |
@@ -342,7 +338,6 @@ jobs:
342338
run: npm run test-pkg
343339

344340
on-failure:
345-
permissions: write-all
346341
name: on-failure
347342
runs-on: ubuntu-latest
348343
needs: [ci-be, ci-fe, ci-assets, ci-pkg]

backend/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
"mjml": "4.15.0",
4646
"mongodb": "6.3.0",
4747
"mustache": "4.2.0",
48-
"nodemailer": "7.0.11",
48+
"nodemailer": "8.0.4",
4949
"object-hash": "3.0.0",
5050
"prom-client": "15.1.3",
5151
"rate-limiter-flexible": "5.0.3",
@@ -80,8 +80,8 @@
8080
"@vitest/coverage-v8": "4.0.15",
8181
"concurrently": "8.2.2",
8282
"openapi3-ts": "2.0.2",
83-
"oxlint": "1.57.0",
84-
"oxlint-tsgolint": "0.17.3",
83+
"oxlint": "1.59.0",
84+
"oxlint-tsgolint": "0.20.0",
8585
"readline-sync": "1.4.10",
8686
"supertest": "7.1.4",
8787
"testcontainers": "11.11.0",

frontend/__tests__/__harness__/mock-firebase.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ import { vi } from "vitest";
22
vi.mock("../../src/ts/firebase", () => ({
33
app: undefined,
44
Auth: undefined,
5-
isAuthenticated: () => false,
65
}));

frontend/__tests__/components/common/AsyncContent.spec.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,17 @@ describe("AsyncContent", () => {
5656
expect(preloader).not.toBeInTheDocument();
5757
});
5858

59+
it("renders on resolve with object containing null", async () => {
60+
const { container } = renderWithQuery({
61+
result: { text: "Test Data", extra: null } as any,
62+
});
63+
64+
await waitFor(() => {
65+
expect(screen.getByTestId("content")).toBeVisible();
66+
});
67+
expect(container.innerHTML).toContain("static content");
68+
});
69+
5970
it("renders default error message on fail", async () => {
6071
const error = new Error("Test error");
6172
renderWithQuery({ result: error });
@@ -152,7 +163,7 @@ describe("AsyncContent", () => {
152163
<AsyncContent query={myQuery} {...(options as Props<string>)}>
153164
{(data: string | undefined) => (
154165
<>
155-
foo
166+
static content
156167
<Show when={data !== undefined} fallback={<div>no data</div>}>
157168
<div data-testid="content">{data}</div>
158169
</Show>

frontend/__tests__/components/common/Conditional.spec.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ describe("Conditional", () => {
119119

120120
describe("reactivity", () => {
121121
it("switches from else to then when if becomes truthy", async () => {
122-
const [condition, setCondition] = createSignal<boolean>(false);
122+
const [condition, setCondition] = createSignal(false);
123123

124124
render(() => (
125125
<Conditional
@@ -139,7 +139,7 @@ describe("Conditional", () => {
139139
});
140140

141141
it("switches from then to else when if becomes falsy", async () => {
142-
const [condition, setCondition] = createSignal<boolean>(true);
142+
const [condition, setCondition] = createSignal(true);
143143

144144
render(() => (
145145
<Conditional

frontend/__tests__/components/common/anime/AnimeConditional.spec.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ describe("AnimeConditional", () => {
7171
});
7272

7373
it("switches reactively from `then` to `else`", () => {
74-
const [condition, setCondition] = createSignal<boolean>(true);
74+
const [condition, setCondition] = createSignal(true);
7575

7676
render(() => (
7777
<AnimeConditional
@@ -90,7 +90,7 @@ describe("AnimeConditional", () => {
9090
});
9191

9292
it("switches reactively from `else` to `then`", () => {
93-
const [condition, setCondition] = createSignal<boolean>(false);
93+
const [condition, setCondition] = createSignal(false);
9494

9595
render(() => (
9696
<AnimeConditional
@@ -134,7 +134,7 @@ describe("AnimeConditional", () => {
134134
});
135135

136136
it("does not throw on mount/unmount", () => {
137-
const [show, setShow] = createSignal<boolean>(true);
137+
const [show, setShow] = createSignal(true);
138138

139139
expect(() => {
140140
render(() => (

frontend/__tests__/components/ui/form/InputField.spec.tsx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,6 @@ function makeField(name: string, value = "") {
2323
}
2424

2525
describe("InputField", () => {
26-
it("uses field name as default placeholder", () => {
27-
const field = makeField("username");
28-
render(() => <InputField field={() => field} />);
29-
30-
expect(screen.getByPlaceholderText("username")).toBeInTheDocument();
31-
});
32-
3326
it("uses custom placeholder when provided", () => {
3427
const field = makeField("email");
3528
render(() => <InputField field={() => field} placeholder="Enter email" />);

frontend/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@
108108
"madge": "8.0.0",
109109
"magic-string": "0.30.17",
110110
"normalize.css": "8.0.1",
111-
"oxlint": "1.57.0",
112-
"oxlint-tsgolint": "0.17.3",
111+
"oxlint": "1.59.0",
112+
"oxlint-tsgolint": "0.20.0",
113113
"postcss": "8.5.8",
114114
"sass": "1.70.0",
115115
"solid-devtools": "0.34.5",
@@ -119,7 +119,7 @@
119119
"tsx": "4.21.0",
120120
"typescript": "6.0.2",
121121
"unplugin-inject-preload": "3.0.0",
122-
"vite": "8.0.1",
122+
"vite": "8.0.5",
123123
"vite-bundle-visualizer": "1.2.1",
124124
"vite-plugin-html-inject": "1.1.2",
125125
"vite-plugin-inspect": "11.3.3",

frontend/src/styles/caret.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
background: transparent;
7676
border: 0.05em solid var(--caret-color);
7777
border-radius: 0.05em;
78+
outline-style: none !important; // override tailwind class of the same name
7879
}
7980

8081
&.underline {

frontend/src/ts/ape/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Config } from "@monkeytype/schemas/configs";
2-
import { isAuthenticated } from "../firebase";
2+
import { isAuthenticated } from "../states/core";
33
import { showErrorNotification } from "../states/notifications";
44
import Ape from ".";
55

0 commit comments

Comments
 (0)