Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
8160eee
chore(sentry): add some debug logs (#500)
neSpecc Dec 23, 2025
8844840
chore(event-email): event email notification now contains link to a p…
neSpecc Dec 24, 2025
21cb047
fix(sentry): replay skipping improved (#503)
neSpecc Dec 24, 2025
2cb3e5b
Log Sentry client_report items for debugging (#505)
neSpecc Dec 26, 2025
eea9877
bug(sentry): Flatten nested objects in backtrace frame arguments usin…
Copilot Jan 23, 2026
f5f3aae
chore(setup): migrate from node 16 to 24 (#512)
neSpecc Jan 26, 2026
2516e1a
Task manager (#511)
neSpecc Jan 28, 2026
be2aedc
Add PR Assistant workflow configuration (#507)
Kuchizu Jan 28, 2026
300b469
Update package.json
neSpecc Jan 28, 2026
4189b0a
Fix DataFilter false positives for UUIDs and MongoDB ObjectIds (#518)
Copilot Jan 31, 2026
c4cc417
fix(grouper): filter oldPassword and newPassword in event payload (#516)
Dobrunia Feb 2, 2026
8777e77
chore(grouper): add counters to the grouper worker
e11sy Jan 30, 2026
3badfa9
chore(): eslint fix
e11sy Feb 7, 2026
0d00df9
chore(): clean up
e11sy Feb 7, 2026
20990d3
chore(grouper): remove redundant rate-limit increment logic
e11sy Feb 8, 2026
a8a31c8
chore(grouper): remove redundant mocks
e11sy Feb 8, 2026
f9b181d
chore(): eslint fix
e11sy Feb 8, 2026
a583997
chore(): change metric type
e11sy Feb 8, 2026
8ed970c
Update workers/grouper/src/index.ts
e11sy Feb 8, 2026
45e527a
imp(): use lua for create if not exists, to avoid race-cond
e11sy Feb 8, 2026
8dbab2a
Merge branch 'stage' into imp/grouper-increment-redis-counters
e11sy Feb 9, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/check-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '16'
node-version: '24'

- name: Install dependencies
run: yarn install
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 16.x
- name: Use Node.js 24.x
uses: actions/setup-node@v1
with:
node-version: 16.x
node-version: 24.x
- name: Cache dependencies
uses: actions/cache@v3
with:
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/pr-assistant.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: PR Assistant

on:
pull_request:
types: [opened, edited, synchronize]

permissions:
pull-requests: write
issues: write
contents: write

jobs:
pr-assistant:
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.CODEX_ASSISTANT_APP_ID }}
private-key: ${{ secrets.CODEX_ASSISTANT_PRIVATE_KEY }}

- uses: codex-team/action-pr-assistant@master
with:
check: description
mode: draft
token: ${{ steps.app-token.outputs.token }}
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: Use Node.js 16.x
- name: Use Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 16.x
node-version: 24.x
- run: yarn install
- run: yarn test
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v16.20.2
v24
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:18.20-slim as build-stage
FROM node:24-slim as build-stage

RUN apt update
RUN apt install git -y
Expand Down
2 changes: 1 addition & 1 deletion dev.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:16.20-slim
FROM node:24-slim

WORKDIR /usr/src/app

Expand Down
1 change: 1 addition & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,5 @@ module.exports = {
setupFilesAfterEnv: ['./jest.setup.redis-mock.js', './jest.setup.mongo-repl-set.js'],

globalTeardown: './jest.global-teardown.js',
testTimeout: 15000,
};
12 changes: 10 additions & 2 deletions jest.global-teardown.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
const process = require('process');
const mongoTeardown = require('@shelf/jest-mongodb/teardown');

module.exports = async () => {
/**
* Cleanup MongoDB Memory Server
*
* @shelf/jest-mongodb should handle this automatically, but we try to ensure cleanup

Check warning on line 8 in jest.global-teardown.js

View workflow job for this annotation

GitHub Actions / ESlint

Invalid JSDoc tag name "shelf/jest-mongodb"

Check warning on line 8 in jest.global-teardown.js

View workflow job for this annotation

GitHub Actions / ESlint

Invalid JSDoc tag name "shelf/jest-mongodb"
*/
await mongoTeardown();

module.exports = () => {
if (process.env.CI) {
setTimeout(() => {
process.exit(0);
}, 1000);
}
};
};
2 changes: 1 addition & 1 deletion jest.setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const mockedAmqpChannel = {
close: jest.fn(),
assertQueue: jest.fn(),
prefetch: jest.fn(),
sendToQueue: jest.fn(),
sendToQueue: jest.fn().mockReturnValue(true),
on: jest.fn(),
consume: jest.fn().mockReturnValue('mockedTag'),
};
Expand Down
6 changes: 3 additions & 3 deletions jest.setup.mongo-repl-set.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ beforeAll(async () => {
let status = await admin.command({ replSetGetStatus: 1 }).catch(() => null);

if (status && status.ok) {
console.log('✅ Replica set already initialized');
// console.log('✅ Replica set already initialized');
} else {
await admin.command({ replSetInitiate: {} });
console.log('✅ Replica set initiated');
// console.log('✅ Replica set initiated');
}

const startTime = Date.now();
Expand All @@ -39,7 +39,7 @@ beforeAll(async () => {
await new Promise(resolve => setTimeout(resolve, 1000));
} while (Date.now() - startTime < timeout);

console.log('✅ Replica set is stable');
// console.log('✅ Replica set is stable');
} catch (err) {
console.error('❌ Failed to initiate replica set:', err);
}
Expand Down
2 changes: 1 addition & 1 deletion jest.setup.redis-mock.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ beforeAll(async () => {
.start();

const port = redisTestContainer.getMappedPort(6379);
const host = redisTestContainer.getContainerIpAddress();
const host = redisTestContainer.getHost();

/**
* Set environment variable for redisHelper to connect to redis container
Expand Down
Loading
Loading