-
-
Notifications
You must be signed in to change notification settings - Fork 1
v1.1.1 #102
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
v1.1.1 #102
Conversation
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Updated test expectations to match current application state: - Changed version expectations from v1.0.0 to v1.1.0 (12 tests in botUtils.test.ts) - Changed WEBHOOK_POLL_INTERVAL from 1000 to 5000 (3 tests in defaults.test.ts) All 205 tests now pass (184 passed, 21 skipped, 0 failed) Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Changed .github/workflows/test.yml to use 'yarn test' (which runs 'vitest run') instead of the non-existent 'yarn test:run' script. Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
Fix failing test suite - Update version and configuration expectations
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
…yarn-to-pnpm Migrate from Yarn to pnpm package manager with latest best practices
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
📝 WalkthroughWalkthroughA repository-wide migration from Yarn to pnpm: CI workflows, Dockerfile, docs, scripts, and tests updated to use pnpm; added Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
🩹 Patch Image Built SuccessfullyTest this patch with Docker: # Docker Hub
docker pull wgtechlabs/unthread-discord-bot:patch-9f28099
# GitHub Container Registry
docker pull ghcr.io/wgtechlabs/unthread-discord-bot:patch-9f28099Deploy to Railway/Cloud for testing:
|
Overview
Environment Variables (1 changes)
NODE_ENV=production
NODE_OPTIONS=--enable-source-maps --max-old-space-size=512
-NODE_VERSION=22.16.0
+NODE_VERSION=24.10.0
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
YARN_VERSION=1.22.22Labels (5 changes)
-org.opencontainers.image.created=2025-10-01T19:16:01Z
+org.opencontainers.image.created=2025-10-15T17:40:35Z
org.opencontainers.image.description=Turn Discord servers into comprehensive support ticket hubs with real-time bidirectional communication — powered by Unthread.io.
-org.opencontainers.image.licenses=AGPL-3.0
-org.opencontainers.image.revision=04a433bdf45537f5d3b5fde3e49ec7f314b246d0
+org.opencontainers.image.revision=4ed24cb2d5e8cebfcd93c218c056d1ab25957492
org.opencontainers.image.source=https://github.com/wgtechlabs/unthread-discord-bot
org.opencontainers.image.title=Unthread Discord Bot
-org.opencontainers.image.url=https://github.com/wgtechlabs/unthread-discord-bot
-org.opencontainers.image.version=1.1.0Packages and Vulnerabilities (126 package changes and 1 vulnerability changes)
Changes for packages of type
|
| Package | Versionwgtechlabs/unthread-discord-bot:latest |
Versionwgtechlabs/unthread-discord-bot:pr-102-4ed24cb |
|
|---|---|---|---|
| ➖ | node | 22.16.0 |
Changes for packages of type github (1 changes)
| Package | Versionwgtechlabs/unthread-discord-bot:latest |
Versionwgtechlabs/unthread-discord-bot:pr-102-4ed24cb |
|
|---|---|---|---|
| ➕ | node | 24.10.0 |
Changes for packages of type npm (112 changes)
| Package | Versionwgtechlabs/unthread-discord-bot:latest |
Versionwgtechlabs/unthread-discord-bot:pr-102-4ed24cb |
|
|---|---|---|---|
| ♾️ | @discordjs/builders | 1.11.3 |
1.12.2 |
| ➕ | @isaacs/balanced-match | 4.0.1 |
|
| ➕ | @isaacs/brace-expansion | 5.0.0 |
|
| ♾️ | @npmcli/agent | 3.0.0 |
4.0.0 |
| ♾️ | @npmcli/arborist | 8.0.0 |
9.1.5 |
| ♾️ | @npmcli/config | 9.0.0 |
10.4.1 |
| ♾️ | @npmcli/git | 6.0.1 |
7.0.0 |
| ♾️ | @npmcli/map-workspaces | 4.0.2 |
5.0.0 |
| ♾️ | @npmcli/metavuln-calculator | 8.0.1 |
9.0.2 |
| ♾️ | @npmcli/package-json | 6.1.0 |
7.0.1 |
| ♾️ | @npmcli/promise-spawn | 8.0.2 |
8.0.3 |
| ♾️ | @npmcli/query | 4.0.0 |
4.0.1 |
| ♾️ | @npmcli/redact | 3.0.0 |
3.2.2 |
| ♾️ | @npmcli/run-script | 9.0.2 |
10.0.0 |
| ♾️ | @redis/bloom | 5.8.2 |
5.8.3 |
| ♾️ | @redis/client | 5.8.2 |
5.8.3 |
| ♾️ | @redis/json | 5.8.2 |
5.8.3 |
| ♾️ | @redis/search | 5.8.2 |
5.8.3 |
| ♾️ | @redis/time-series | 5.8.2 |
5.8.3 |
| ♾️ | @sapphire/snowflake | 3.5.5 |
3.5.3 |
| ♾️ | @sigstore/bundle | 3.0.0 |
4.0.0 |
| ♾️ | @sigstore/core | 2.0.0 |
3.0.0 |
| ♾️ | @sigstore/protobuf-specs | 0.3.2 |
0.5.0 |
| ♾️ | @sigstore/sign | 3.0.0 |
4.0.0 |
| ♾️ | @sigstore/tuf | 3.0.0 |
4.0.0 |
| ♾️ | @sigstore/verify | 2.0.0 |
3.0.0 |
| ♾️ | @tufjs/models | 3.0.1 |
4.0.0 |
| ♾️ | @types/node | 24.5.2 |
24.7.2 |
| ♾️ | @vladfrangu/async_event_emitter | 2.4.6 |
2.4.7 |
| ♾️ | abbrev | 3.0.0 |
3.0.1 |
| ♾️ | agent-base | 7.1.1 |
7.1.4 |
| ♾️ | ansi-regex | 6.1.0 |
6.2.2 |
| ♾️ | ansi-styles | 6.2.1 |
6.2.3 |
| ♾️ | aproba | 2.0.0 |
2.1.0 |
| ♾️ | binary-extensions | 2.3.0 |
3.1.0 |
| ♾️ | brace-expansion | 2.0.1 |
2.0.2 |
| ♾️ | cacache | 19.0.1 |
20.0.1 |
| ♾️ | chalk | 5.3.0 |
5.6.2 |
| ♾️ | ci-info | 4.1.0 |
4.3.0 |
| ♾️ | cidr-regex | 4.1.1 |
5.0.0 |
| ♾️ | corepack | 0.32.0 |
0.34.0 |
| ♾️ | diff | 5.2.0 |
8.0.2 |
| ♾️ | discord-api-types | 0.38.26 |
0.38.30 |
| ♾️ | discord.js | 14.22.1 |
14.23.2 |
| ♾️ | exponential-backoff | 3.1.1 |
3.1.2 |
| ➕ | fdir | 6.5.0 |
|
| ♾️ | foreground-child | 3.3.0 |
3.3.1 |
| ♾️ | glob | 10.4.5 |
11.0.3 |
| ➕ | has-flag | 3.0.0 |
|
| ♾️ | hosted-git-info | 8.0.2 |
9.0.0 |
| ♾️ | http-cache-semantics | 4.1.1 |
4.2.0 |
| ♾️ | https-proxy-agent | 7.0.5 |
7.0.6 |
| ♾️ | ignore-walk | 7.0.0 |
8.0.0 |
| ♾️ | init-package-json | 7.0.2 |
8.2.2 |
| ♾️ | ioredis | 5.7.0 |
5.8.1 |
| ♾️ | is-cidr | 5.1.0 |
6.0.0 |
| ➕ | is-lambda | 1.0.1 |
|
| ♾️ | jackspeak | 3.4.3 |
4.1.1 |
| ♾️ | keyv | 5.5.2 |
5.5.3 |
| ♾️ | libnpmaccess | 9.0.0 |
10.0.2 |
| ♾️ | libnpmdiff | 7.0.0 |
8.0.8 |
| ♾️ | libnpmexec | 9.0.0 |
10.1.7 |
| ♾️ | libnpmfund | 6.0.0 |
7.0.8 |
| ➖ | libnpmhook | 11.0.0 |
|
| ♾️ | libnpmorg | 7.0.0 |
8.0.1 |
| ♾️ | libnpmpack | 8.0.0 |
9.0.8 |
| ♾️ | libnpmpublish | 10.0.1 |
11.1.1 |
| ♾️ | libnpmsearch | 8.0.0 |
9.0.1 |
| ♾️ | libnpmteam | 7.0.0 |
8.0.2 |
| ♾️ | libnpmversion | 7.0.0 |
8.0.2 |
| ♾️ | lru-cache | 10.4.3 |
11.2.1 |
| ♾️ | make-fetch-happen | 14.0.3 |
15.0.2 |
| ♾️ | minipass-fetch | 4.0.0 |
4.0.1 |
| ♾️ | minizlib | 3.0.1 |
3.1.0 |
| ♾️ | mkdirp | 3.0.1 |
1.0.4 |
| ♾️ | node-gyp | 11.0.0 |
11.4.2 |
| ♾️ | nopt | 8.0.0 |
8.1.0 |
| ♾️ | normalize-package-data | 7.0.0 |
8.0.0 |
| ♾️ | npm | 10.9.2 |
11.6.1 |
| ♾️ | npm-install-checks | 7.1.1 |
7.1.2 |
| ♾️ | npm-package-arg | 12.0.0 |
13.0.0 |
| ♾️ | npm-packlist | 9.0.0 |
10.0.1 |
| ♾️ | npm-pick-manifest | 10.0.0 |
11.0.1 |
| ♾️ | npm-profile | 11.0.1 |
12.0.0 |
| ♾️ | npm-registry-fetch | 18.0.2 |
19.0.0 |
| ♾️ | p-map | 7.0.2 |
7.0.3 |
| ♾️ | pacote | 20.0.0 |
21.0.3 |
| ♾️ | path-scurry | 1.11.1 |
2.0.0 |
| ➕ | picomatch | 4.0.3 |
|
| ➕ | pnpm | 9.15.9 |
|
| ♾️ | postcss-selector-parser | 6.1.2 |
7.1.0 |
| ➖ | promise-inflight | 1.0.1 |
|
| ♾️ | read | 4.0.0 |
4.1.0 |
| ➖ | read-package-json-fast | 4.0.0 |
|
| ♾️ | redis | 5.8.2 |
5.8.3 |
| ➖ | rimraf | 5.0.10 |
|
| ♾️ | semver | 7.6.3 |
7.7.2 |
| ♾️ | sigstore | 3.0.0 |
4.0.0 |
| ♾️ | socks | 2.8.3 |
2.8.7 |
| ♾️ | socks-proxy-agent | 8.0.4 |
8.0.5 |
| ♾️ | spdx-license-ids | 3.0.20 |
3.0.22 |
| ♾️ | strip-ansi | 7.1.0 |
7.1.2 |
| ♾️ | supports-color | 9.4.0 |
5.5.0 |
| ♾️ | tar | 7.4.3 |
7.5.1 |
| ♾️ | tiny-relative-date | 1.3.0 |
2.0.2 |
| ➕ | tinyglobby | 0.2.15 |
|
| ♾️ | tuf-js | 3.0.1 |
4.0.0 |
| ♾️ | undici-types | 7.12.0 |
7.14.0 |
| ♾️ | unthread-discord-bot | 1.1.0 |
1.1.1 |
| ➕ | v8-compile-cache | 2.4.0 |
|
| ♾️ | validate-npm-package-name | 6.0.0 |
6.0.2 |
| ♾️ | walk-up-path | 3.0.1 |
4.0.0 |
🩹 Patch Image Built SuccessfullyTest this patch with Docker: # Docker Hub
docker pull wgtechlabs/unthread-discord-bot:patch-b9cebfe
# GitHub Container Registry
docker pull ghcr.io/wgtechlabs/unthread-discord-bot:patch-b9cebfeDeploy to Railway/Cloud for testing:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (5)
.github/workflows/validate.yml (1)
24-27: CI pnpm setup looks solid; two optional tweaks for speed and clarity
- Add cache-dependency-path: pnpm-lock.yaml to setup-node for explicit cache keying.
- You can let pnpm/action-setup perform install (run_install: true) and drop the separate install step.
Example:
uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - cache: 'pnpm' + cache: 'pnpm' + cache-dependency-path: 'pnpm-lock.yaml'- - name: Setup pnpm - uses: pnpm/action-setup@v4 - with: - version: 9.15.9 + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9.15.9 + run_install: trueAlso applies to: 33-43
CONTRIBUTING.md (1)
27-31: Add Corepack enable step for pnpm version pinning parityFor consistency with README and CI, include Corepack before install:
corepack enable pnpm installpackage.json (1)
9-13: DRY the build step with lifecycle scriptsUse prestart/pre scripts to avoid repeating “pnpm build && …” across commands:
"scripts": { - "start": "pnpm build && node dist/deploy_commands.js && node dist/index.js", + "prestart": "pnpm build && node dist/deploy_commands.js", + "start": "node dist/index.js", - "deploycommand": "pnpm build && node dist/deploy_commands.js", + "predeploycommand": "pnpm build", + "deploycommand": "node dist/deploy_commands.js", - "cmd:deploy": "pnpm build && node dist/command_deploy.js", + "precmd:deploy": "pnpm build", + "cmd:deploy": "node dist/command_deploy.js", - "cmd:reset": "pnpm build && node dist/command_reset.js", + "precmd:reset": "pnpm build", + "cmd:reset": "node dist/command_reset.js",Dockerfile (1)
27-33: Looks good; consider cache-friendly pnpm flow
- Use pnpm fetch + install --offline to maximize layer caching.
- Prefer --only=prod for clarity.
Examples:
- RUN pnpm install --prod --frozen-lockfile && \ + RUN pnpm fetch --prod && \ + pnpm install --offline --only=prod --frozen-lockfile && \ pnpm store prune- RUN pnpm install --frozen-lockfile + RUN pnpm fetch && pnpm install --offline --frozen-lockfileAlso applies to: 44-49, 57-65
.github/workflows/test.yml (1)
38-42: CI migration LGTM; minor optional caching improvements
- Add cache-dependency-path: pnpm-lock.yaml to setup-node.
- Let pnpm/action-setup perform install (run_install: true) to drop the separate install step.
Snippets mirror the suggestion in validate.yml.
Also applies to: 44-51, 56-63
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yamlyarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (15)
.github/workflows/patch-build.yml(1 hunks).github/workflows/pr-build.yml(1 hunks).github/workflows/security.yml(1 hunks).github/workflows/test.yml(3 hunks).github/workflows/validate.yml(1 hunks).github/workflows/wip-build.yml(1 hunks).gitignore(1 hunks).npmrc(1 hunks)CONTRIBUTING.md(2 hunks)Dockerfile(3 hunks)README.md(8 hunks)package.json(2 hunks)src/__tests__/config/defaults.test.ts(3 hunks)src/__tests__/utils/botUtils.test.ts(12 hunks)src/deploy_commands.ts(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: warengonzaga
PR: wgtechlabs/unthread-discord-bot#0
File: :0-0
Timestamp: 2025-08-28T11:18:55.767Z
Learning: In the wgtechlabs/unthread-discord-bot repository, all package.json scripts have been standardized to use yarn consistently, eliminating the previous mixing of npm and yarn commands. This was part of the v1.0.0-rc1 release migration to a Yarn PnP architecture.
📚 Learning: 2025-08-28T11:18:55.767Z
Learnt from: warengonzaga
PR: wgtechlabs/unthread-discord-bot#0
File: :0-0
Timestamp: 2025-08-28T11:18:55.767Z
Learning: In the wgtechlabs/unthread-discord-bot repository's package.json, the build and deployment scripts (start, deploycommand, build) consistently use yarn, while development scripts (dev, lint, lint:fix) invoke tools directly. This represents a clean separation between orchestration scripts and development tool invocation.
Applied to files:
README.mdsrc/deploy_commands.tsCONTRIBUTING.mdpackage.json
📚 Learning: 2025-08-28T11:18:55.767Z
Learnt from: warengonzaga
PR: wgtechlabs/unthread-discord-bot#0
File: :0-0
Timestamp: 2025-08-28T11:18:55.767Z
Learning: In the wgtechlabs/unthread-discord-bot repository, all package.json scripts have been standardized to use yarn consistently, eliminating the previous mixing of npm and yarn commands. This was part of the v1.0.0-rc1 release migration to a Yarn PnP architecture.
Applied to files:
README.mdCONTRIBUTING.mdpackage.json
🧬 Code graph analysis (2)
src/__tests__/utils/botUtils.test.ts (1)
src/utils/botUtils.ts (2)
getBotName(28-41)getBotFooter(59-62)
src/__tests__/config/defaults.test.ts (1)
src/config/defaults.ts (1)
DEFAULT_CONFIG(40-53)
🪛 GitHub Actions: Test
src/__tests__/utils/botUtils.test.ts
[error] 1-1: Bot utilities tests fail due to version mismatch: expected v1.1.0 in getBotFooter outputs but actual version is v1.1.1 across multiple tests (e.g., should return formatted footer with display name and version, username when display name unavailable, etc.).
🪛 LanguageTool
README.md
[grammar] ~176-~176: Use a hyphen to join words.
Context: ...environment - pnpm: Fast, disk space efficient package manager - ESLint: ...
(QB_NEW_EN_HYPHEN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...st, disk space efficient package manager - ESLint: Code quality and consistent fo...
(QB_NEW_EN)
[grammar] ~279-~279: There might be a mistake here.
Context: ...ts frequently** during development with pnpm test:watch 3. Check coverage before submitting PRs w...
(QB_NEW_EN)
[grammar] ~280-~280: There might be a mistake here.
Context: ...k coverage** before submitting PRs with pnpm test:coverage 4. Review test reports in the generated `...
(QB_NEW_EN)
[grammar] ~384-~384: There might be a mistake here.
Context: ... - Node.js: Version 20.0.0 or higher - pnpm: Version 9.x (latest, automatical...
(QB_NEW_EN)
[grammar] ~385-~385: There might be a mistake here.
Context: ... automatically managed via package.json) - TypeScript: Automatically managed via ...
(QB_NEW_EN)
[grammar] ~386-~386: There might be a mistake here.
Context: ...Script**: Automatically managed via pnpm - Discord Application: Bot token and pro...
(QB_NEW_EN)
🔇 Additional comments (8)
.gitignore (1)
78-80: Splendid addition to our ignore patterns, sir.The pnpm debug log exclusion is properly placed and formatted, maintaining consistency with the existing package manager log patterns above. This aligns perfectly with your migration strategy.
src/deploy_commands.ts (1)
16-24: Documentation elegantly updated, sir.The command examples have been properly migrated to pnpm syntax, maintaining clarity for contributors. The workflow instructions remain comprehensive and well-structured.
.github/workflows/wip-build.yml (1)
10-11: Path filters recalibrated with precision, sir.The workflow will now monitor pnpm-specific artifacts rather than Yarn's lockfile. This ensures proper CI triggering during the package manager transition.
.github/workflows/patch-build.yml (1)
11-12: Path monitoring upgraded successfully, sir.The patch build workflow now tracks pnpm dependencies, ensuring consistent behavior across all build pipelines.
src/__tests__/config/defaults.test.ts (2)
39-39: Test expectations recalibrated to the new polling cadence, sir.The WEBHOOK_POLL_INTERVAL default has been adjusted from 1000ms to 5000ms. This increased interval should reduce unnecessary polling overhead while maintaining responsive webhook monitoring.
247-247: getAllConfig test assertions updated with precision.These expectations now correctly validate the new 5000ms default across both default configuration and override scenarios.
Also applies to: 279-279
.github/workflows/security.yml (1)
11-12: Security workflow path filters synchronized, sir.The security scanning pipeline is now properly configured to monitor pnpm-related changes, maintaining your defensive posture throughout the migration.
.github/workflows/pr-build.yml (1)
11-12: PR build workflow successfully reconfigured, sir.The final piece of your workflow migration is in place, ensuring comprehensive monitoring of pnpm artifacts across all build pipelines.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
🩹 Patch Image Built SuccessfullyTest this patch with Docker: # Docker Hub
docker pull wgtechlabs/unthread-discord-bot:patch-830e47c
# GitHub Container Registry
docker pull ghcr.io/wgtechlabs/unthread-discord-bot:patch-830e47cDeploy to Railway/Cloud for testing:
|
🩹 Patch Image Built SuccessfullyTest this patch with Docker: # Docker Hub
docker pull wgtechlabs/unthread-discord-bot:patch-4ed24cb
# GitHub Container Registry
docker pull ghcr.io/wgtechlabs/unthread-discord-bot:patch-4ed24cbDeploy to Railway/Cloud for testing:
|
Summary by CodeRabbit