Skip to content

chore: webinar update, lib updates#202

Merged
hmbanan666 merged 1 commit intomainfrom
webinar-up
Oct 7, 2025
Merged

chore: webinar update, lib updates#202
hmbanan666 merged 1 commit intomainfrom
webinar-up

Conversation

@hmbanan666
Copy link
Copy Markdown
Collaborator

@hmbanan666 hmbanan666 commented Oct 7, 2025

Summary by CodeRabbit

  • UI/Content

    • Updated webinar time to 13:00–14:30 (MSK); countdown reflects new schedule.
    • Replaced registration links with a new signup URL.
    • Updated footer contact email.
    • Expanded and refreshed FAQ content; improved text styling.
    • Switched review avatars to local images; simplified avatar rendering.
  • Chores

    • Upgraded Node base images and package manager version; refreshed dependency versions and workspace config.
    • Cleaned npm/pnpm settings to streamline builds.

@hmbanan666 hmbanan666 self-assigned this Oct 7, 2025
@socket-security
Copy link
Copy Markdown

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Oct 7, 2025

Walkthrough

Configuration and dependency updates across npm/pnpm, multiple Dockerfiles, and package.json. Webinar UI components adjust event times, links, FAQ content, and avatar assets. One TypeScript cast added in an API handler. No new features or control-flow changes introduced.

Changes

Cohort / File(s) Summary of changes
npm/pnpm config and metadata
/.npmrc, /package.json, /pnpm-workspace.yaml
Removed .npmrc options (auto-install-peers, node-linker). Updated packageManager and engines.pnpm. Adjusted resolutions (removed rollup, added @nuxt/cli). Upgraded numerous workspace dependency versions; added root nodeLinker: hoisted and autoInstallPeers: true.
Docker build images and context
docker/*/Dockerfile
Bumped Node base images to 22.20.x across Dockerfiles and stopped copying .npmrc in builder stages. In docker/atrium-telegram/Dockerfile, added pnpm install, dependency install with frozen lockfile, and package build steps.
Webinar UI content updates
apps/webinar/app/components/*.vue
Updated event times (to 13:00–14:30 МСК), registration links to https://watbot.ru/w/uic1, mailto in Footer, expanded FAQ items and styles, replaced avatar component with <img>, and switched review avatars to local assets (/review-1.jpg, /review-2.jpg, /review-3.jpg).
API typing compatibility
apps/web-app/server/api/agent/index.post.ts
Cast client to any in new OpenAIChatCompletionsModel(client as any, ai.model) to satisfy typing; no runtime logic change.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10–15 minutes

Possibly related PRs

Poem

A rabbit taps the Docker drum,
Bumps the Node and pnpm hum.
Timers shift, the links align,
Avatars glow in jpeg shine.
FAQs multiply—hop, hop, done!
Small tweaks made, the build will run. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly captures both the webinar-related UI/content updates and the library/dependency version bumps without extraneous detail or vagueness, accurately reflecting the primary changes across the pull request.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch webinar-up

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Oct 7, 2025

@hmbanan666 hmbanan666 merged commit 4f0b1ab into main Oct 7, 2025
7 of 8 checks passed
@hmbanan666 hmbanan666 deleted the webinar-up branch October 7, 2025 08:48
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (3)
docker/web-app/Dockerfile (1)

1-1: Node.js version update and .npmrc removal.

Same changes as in docker/web-storefront/Dockerfile. Please refer to the review comments on that file for verification steps regarding the Node.js version and .npmrc requirement.

Also applies to: 7-7

docker/core-telegram/Dockerfile (1)

1-1: Node.js version update and .npmrc removal.

Same changes as in docker/web-storefront/Dockerfile. Please refer to the review comments on that file for verification steps.

Also applies to: 7-7

docker/storefront-telegram/Dockerfile (1)

1-1: Node.js version update and .npmrc removal.

Same changes as in docker/web-storefront/Dockerfile. Please refer to the review comments on that file for verification steps.

Also applies to: 7-7

🧹 Nitpick comments (1)
apps/webinar/app/components/ReviewCard.vue (1)

11-15: Consider error handling for missing images.

The UAvatar component has been replaced with a standard img tag. This simplifies the implementation but loses built-in features like error handling and loading states. Since these are local assets that should always be present, this is acceptable, but consider adding an onerror handler if there's any chance the images might be missing.

If you want to add basic error handling, consider:

 <img
   :src="review.user.avatar.src"
-  alt=""
+  alt="Avatar"
   class="size-20 rounded-full"
+  onerror="this.src='/placeholder-avatar.jpg'"
 >
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f61f6f2 and 2f49d74.

⛔ Files ignored due to path filters (6)
  • apps/webinar/public/countdown-background.jpg is excluded by !**/*.jpg
  • apps/webinar/public/countdown-bg.jpg is excluded by !**/*.jpg
  • apps/webinar/public/review-1.jpg is excluded by !**/*.jpg
  • apps/webinar/public/review-2.jpg is excluded by !**/*.jpg
  • apps/webinar/public/review-3.jpg is excluded by !**/*.jpg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (19)
  • .npmrc (0 hunks)
  • apps/web-app/server/api/agent/index.post.ts (1 hunks)
  • apps/webinar/app/components/Countdown.vue (1 hunks)
  • apps/webinar/app/components/CountdownTimer.vue (1 hunks)
  • apps/webinar/app/components/Footer.vue (1 hunks)
  • apps/webinar/app/components/Hero.vue (1 hunks)
  • apps/webinar/app/components/Questions.vue (2 hunks)
  • apps/webinar/app/components/Register.vue (1 hunks)
  • apps/webinar/app/components/ReviewCard.vue (1 hunks)
  • apps/webinar/app/components/Reviews.vue (3 hunks)
  • docker/atrium-telegram/Dockerfile (1 hunks)
  • docker/core-telegram/Dockerfile (1 hunks)
  • docker/storefront-telegram/Dockerfile (1 hunks)
  • docker/web-app/Dockerfile (1 hunks)
  • docker/web-parser/Dockerfile (1 hunks)
  • docker/web-storefront/Dockerfile (1 hunks)
  • docker/webinar/Dockerfile (1 hunks)
  • package.json (2 hunks)
  • pnpm-workspace.yaml (3 hunks)
💤 Files with no reviewable changes (1)
  • .npmrc
⏰ 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)
  • GitHub Check: build
🔇 Additional comments (15)
apps/webinar/app/components/Countdown.vue (1)

26-26: LGTM!

The registration link update aligns with the coordinated changes across other webinar components.

apps/webinar/app/components/Hero.vue (2)

25-25: Verify timezone consistency with CountdownTimer.

The event time has been updated to 13:00-14:30 (МСК). Ensure this aligns with the countdown target in CountdownTimer.vue, which is set to 2025-10-30T10:00:00. If CountdownTimer uses UTC, this would correctly map to 13:00 МСК (UTC+3).


30-30: LGTM!

The registration link update is consistent with other webinar components.

apps/webinar/app/components/Footer.vue (1)

37-38: LGTM!

The email update from a test address to a production address (franshiza@sushi-love.com) is appropriate for production deployment.

docker/web-storefront/Dockerfile (2)

7-7: No private npm registry configuration detected
No .npmrc found and no private registry entries in package.json or pnpm-workspace.yaml.npmrc isn’t required for this build.


1-1: Approve Node.js 22.20.0 bump: update bundles OpenSSL 3.5.2 with NSS 3.114 root certificates; no outstanding security advisories in this release.

apps/webinar/app/components/CountdownTimer.vue (1)

11-11: Timezone alignment confirmed. new Date('2025-10-30T10:00:00') is parsed as UTC per ECMAScript, matching the 13:00 (МСК) display.

apps/webinar/app/components/Reviews.vue (1)

22-22: LGTM!

The avatar sources have been updated to use local assets. Ensure these image files exist in the public directory.

Also applies to: 32-32, 42-42

docker/atrium-telegram/Dockerfile (2)

1-1: LGTM!

Node base image updated to 22.20.0-alpine, aligning with other Dockerfiles in this PR.


7-7: LGTM!

Removal of .npmrc from the COPY command is consistent across all Dockerfiles in this PR.

docker/webinar/Dockerfile (1)

1-1: LGTM!

Base image updated to node:22.20.0-alpine and .npmrc removed from COPY, consistent with other Dockerfiles.

Also applies to: 7-7

docker/web-parser/Dockerfile (1)

1-1: LGTM!

Base image updated to node:22.20.0-slim and .npmrc removed from COPY, consistent with the broader Dockerfile updates in this PR.

Also applies to: 8-8

apps/webinar/app/components/Questions.vue (2)

11-11: LGTM!

Added text-muted class to accordion body for improved visual hierarchy.


25-43: LGTM!

FAQ section expanded from 1 to 5 comprehensive questions covering key webinar topics: investment requirements, payback timeline, technical requirements, agenda, and cost. The content is clear and informative.

apps/webinar/app/components/Register.vue (1)

29-29: Approve: Webinar components use consistent event time and registration link. No old references remain.

name: 'Дата агент сети доставок "Суши Love"',
instructions: 'У тебя есть доступ к данным партнеров сети. Отвечай всегда на русском в мужском роде.',
model: new OpenAIChatCompletionsModel(client, ai.model),
model: new OpenAIChatCompletionsModel(client as any, ai.model),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

🧩 Analysis chain

Type cast suppresses type safety.

The as any cast bypasses TypeScript's type checking, which could hide type incompatibilities. This suggests a potential mismatch between the OpenAI client type and what OpenAIChatCompletionsModel expects.

This might indicate a version mismatch or API change. Please verify:

  1. Are the openai and @openai/agents package versions compatible?
  2. Has the OpenAIChatCompletionsModel constructor signature changed recently?

Run this script to check package versions and look for related issues:


🏁 Script executed:

#!/bin/bash
# Check package versions and compatibility

echo "=== Package versions ==="
cat package.json | jq '.dependencies["openai"], .dependencies["@openai/agents"]'

echo -e "\n=== Search for other usages of OpenAIChatCompletionsModel ==="
rg -n "OpenAIChatCompletionsModel" --type=ts -C3

echo -e "\n=== Check if there are type definition issues ==="
fd -e d.ts | xargs rg "OpenAIChatCompletionsModel" 2>/dev/null || echo "No type definitions found"

Length of output: 1420


Remove unsafe as any cast on client. It bypasses TypeScript safety and may hide mismatches; import and use the correct client type for OpenAIChatCompletionsModel, and verify that your openai and @openai/agents versions are compatible. [line 44]

🤖 Prompt for AI Agents
In apps/web-app/server/api/agent/index.post.ts around line 44, the code uses an
unsafe "as any" cast on client when constructing OpenAIChatCompletionsModel;
replace the cast by importing and using the proper client type expected by
OpenAIChatCompletionsModel (e.g., the specific OpenAI client/interface from the
@openai or @openai/agents package), update the client variable declaration to
that type, remove the "as any" cast, and ensure the installed openai and
@openai/agents package versions are compatible so the correct type is available.

Comment on lines +49 to 50
"@nuxt/cli": "3.28.0",
"unimport": "4.1.1"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Do not pin @nuxt/cli to the previous major.

You just bumped Nuxt to ^4.1.3 in the workspace catalog, but this resolution forces @nuxt/cli back to 3.28.0. Nuxt 4 ships with the 4.x CLI/Nuxi and depends on the new command surface; pinning it to 3.x will revert the binary and break dev/build tasks (version mismatch error on startup). Please align the resolution with the Nuxt 4 toolchain (e.g., drop the override or pin to ^4.x).

🤖 Prompt for AI Agents
package.json lines 49-50: the override pins @nuxt/cli to 3.28.0 which conflicts
with Nuxt 4; remove the hard pin or update it to the matching Nuxt 4 toolchain
(e.g., set @nuxt/cli to ^4.0.0 or a compatible ^4.x range) so the CLI/Nuxi
version aligns with the upgraded Nuxt dependency and does not force a 3.x
binary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant