Skip to content

chore: lib updates#246

Merged
hmbanan666 merged 2 commits into
mainfrom
lib-update
Oct 27, 2025
Merged

chore: lib updates#246
hmbanan666 merged 2 commits into
mainfrom
lib-update

Conversation

@hmbanan666

@hmbanan666 hmbanan666 commented Oct 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Bug Fixes

    • Fixed CSS selector syntax errors in table styles affecting padding.
    • Corrected balance display logic to show numeric values only.
    • Adjusted back-button initialization timing to register immediately.
  • Style

    • Standardized text-wrapping behavior across components.
    • Refined UI utility class modifiers for more consistent styling.
  • Chores

    • Updated multiple development dependencies to newer versions.

@hmbanan666 hmbanan666 self-assigned this Oct 27, 2025
@coderabbitai

coderabbitai Bot commented Oct 27, 2025

Copy link
Copy Markdown

Walkthrough

Moved several Tailwind utility tweaks and selector fixes across multiple Vue files, replaced break-words with wrap-break-word in text blocks, changed useBackButton() invocation timing to run immediately after init calls, updated one conditional to check numeric type, and bumped dependency versions.

Changes

Cohort / File(s) Summary
useBackButton() Control Flow Refactor
apps/atrium-telegram/app/app.vue, apps/storefront-telegram/app/app.vue
Moved useBackButton() out of init().then() and invoke it immediately after init() call, changing its invocation timing from post-promise resolution to immediate execution.
Text Wrapping Utility Migration
apps/atrium-telegram/app/components/KitchenCard.vue, apps/atrium-telegram/app/components/TaskInfoCard.vue, apps/atrium-telegram/app/pages/agreement/[agreementId]/index.vue, apps/atrium-telegram/app/pages/task/[taskId]/index.vue
Replaced break-words with wrap-break-word (and adjusted related wrapper markup) for rendered text elements.
Tailwind Important Modifier Reordering
apps/atrium-telegram/app/components/PartnerCard.vue, apps/atrium-telegram/app/pages/agreement/index.vue, apps/atrium-telegram/app/pages/task/all.vue, apps/web-app/app/components/PartnerCard.vue, apps/web-app/app/components/chart/NetworkChecks.client.vue, apps/web-app/app/components/chart/NetworkRevenue.client.vue, apps/web-storefront/app/components/Navigation.vue
Reordered important modifier placement from prefix (!) to suffix (!) in utility class strings (e.g., !ring-0ring-0!, !px-0px-0!).
CSS Selector Syntax Corrections
apps/web-app/app/pages/agreement/index.vue, apps/web-app/app/pages/head/task/index.vue, apps/web-app/app/pages/kitchen/index.vue, apps/web-app/app/pages/print/index.vue
Fixed stray/extraneous parentheses in :has()-style selectors (e.g., [&:has([data-action=true]))][&:has([data-action=true])]).
Conditional Rendering Enhancement
apps/atrium-telegram/app/pages/partner/index.vue
Changed visibility check from v-if="totalBalance" to v-if="typeof totalBalance === 'number'" to correctly include zero balances.
Gradient Utility Update
apps/storefront-telegram/app/components/catalog/ClosedNowHeader.vue
Replaced bg-gradient-to-b with bg-linear-to-b in conditional root div class.
UI base prop string tweaks
apps/atrium-telegram/app/pages/agreement/index.vue, apps/atrium-telegram/app/pages/partner/index.vue, apps/atrium-telegram/app/pages/task/all.vue
Adjusted :ui prop base strings from !ring-0 to ring-0! in several USelect/USelectMenu components.
Dependency Version Bumps
pnpm-workspace.yaml
Bumped multiple dependency versions (nuxt, nitropack, vue-tsc, openai, @antfu/eslint-config, iconify-json packages, @nuxtjs/i18n, @tma.js/sdk-vue, ioredis, libphonenumber-js, etc.).

Sequence Diagram(s)

sequenceDiagram
  participant App as App (root)
  participant Init as init()
  participant Back as useBackButton()

  Note over App,Init: Previous flow
  App->>Init: call init()
  Init-->>App: Promise resolves
  App->>Back: useBackButton() inside .then()

  Note over App,Back: New flow
  App->>Init: call init()
  App->>Back: useBackButton() invoked immediately (no await)
  Init-->>App: Promise resolves (unchanged)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Review focus areas:
    • Timing change for useBackButton() in both telegram apps (race conditions or side-effects).
    • totalBalance type-check change in apps/atrium-telegram/app/pages/partner/index.vue.
    • CSS selector fixes in multiple table components to ensure intended styles apply.
    • Verify dependency bumps for compatibility (lockfile/build considerations).

Possibly related PRs

Poem

🐰 I nudged the bangs from front to back,

fixed dangling braces on the track,
wrapped the words to sit with ease,
moved the back button—quick, not slow—
and hopped away as versions grow. ✨

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Title Check ⚠️ Warning The pull request title "chore: lib updates" is misleading about the actual scope of changes in the changeset. While the PR does contain dependency version updates in pnpm-workspace.yaml, the vast majority of changes involve CSS utility class refactoring (Tailwind important modifier positioning and break-words replacements), bug fixes in CSS selectors, control flow modifications (useBackButton timing), and conditional logic improvements across multiple component files. The title only references one minor aspect (the dependency updates) while completely misrepresenting the primary changes, which means a teammate scanning the history would not accurately understand what this PR contains. Revise the title to more accurately reflect the primary changes, such as "refactor: update CSS utility classes and fix selector syntax errors" or "chore: CSS refactoring, bug fixes, and dependency updates" to give reviewers a clearer picture of the changeset scope without being misleading about the primary focus.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch lib-update

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.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​tma.js/​sdk-vue@​1.0.6 ⏵ 1.0.86710069 +292 +1100
Updated@​iconify-json/​fluent@​1.2.33 ⏵ 1.2.3491 -11007795 +2100
Updated@​iconify-json/​lucide@​1.2.70 ⏵ 1.2.71100 +110079 +196 +1100
Updated@​nuxtjs/​i18n@​10.1.1 ⏵ 10.1.298 +11009399 +1100
Updated@​antfu/​eslint-config@​6.0.0 ⏵ 6.1.09710010095 +2100

View full report

@socket-security

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
safer-buffer@2.1.2 has Obfuscated code.

Confidence: 0.94

Location: Package overview

From: pnpm-lock.yamlnpm/safer-buffer@2.1.2

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/safer-buffer@2.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/atrium-telegram/app/app.vue (1)

40-46: Fix the race condition by guarding useBackButton() calls or ensuring init completion.

The concern in the review comment is valid. The @tma.js/sdk-vue backButton methods will throw or be unavailable until the mount process completes. In init.ts, backButton.mount.ifAvailable() is called synchronously without awaiting, meaning init() can return before mounting finishes. Meanwhile, useBackButton() in app.vue is now called immediately (not inside .then()), allowing it to attempt backButton method calls before the mount completes.

The composable in apps/atrium-telegram/app/composables/useBackButton.ts (and the storefront variant) calls backButton.hide(), backButton.show(), backButton.isVisible(), and backButton.onClick() without defensive guards like .ifAvailable().

Options to resolve:

  1. Move useBackButton() back into init().then() to guarantee sequential execution
  2. Add .ifAvailable() guards around all backButton method calls in the composable
  3. Ensure init() awaits the backButton mount completion before returning
♻️ Duplicate comments (2)
apps/storefront-telegram/app/app.vue (1)

40-46: Verify that useBackButton() doesn't depend on init() completion.

The control flow changed from promise-based (inside init().then()) to immediate execution. If useBackButton() requires the Telegram SDK to be fully initialized, this could introduce a race condition where the back button is registered before the SDK is ready.

This is the same concern as flagged in apps/atrium-telegram/app/app.vue. The verification script run for that file will also cover this usage.

apps/atrium-telegram/app/components/KitchenCard.vue (1)

26-26: Verify that wrap-break-word is a valid utility class.

Same concern as in other files: wrap-break-word is not a standard Tailwind utility. Please confirm this custom class exists in your configuration.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a551de1 and 7d4db84.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (20)
  • apps/atrium-telegram/app/app.vue (1 hunks)
  • apps/atrium-telegram/app/components/KitchenCard.vue (1 hunks)
  • apps/atrium-telegram/app/components/PartnerCard.vue (2 hunks)
  • apps/atrium-telegram/app/components/TaskInfoCard.vue (1 hunks)
  • apps/atrium-telegram/app/pages/agreement/[agreementId]/index.vue (1 hunks)
  • apps/atrium-telegram/app/pages/agreement/index.vue (2 hunks)
  • apps/atrium-telegram/app/pages/partner/index.vue (4 hunks)
  • apps/atrium-telegram/app/pages/task/[taskId]/index.vue (1 hunks)
  • apps/atrium-telegram/app/pages/task/all.vue (3 hunks)
  • apps/storefront-telegram/app/app.vue (1 hunks)
  • apps/storefront-telegram/app/components/catalog/ClosedNowHeader.vue (1 hunks)
  • apps/web-app/app/components/PartnerCard.vue (2 hunks)
  • apps/web-app/app/components/chart/NetworkChecks.client.vue (1 hunks)
  • apps/web-app/app/components/chart/NetworkRevenue.client.vue (1 hunks)
  • apps/web-app/app/pages/agreement/index.vue (1 hunks)
  • apps/web-app/app/pages/head/task/index.vue (1 hunks)
  • apps/web-app/app/pages/kitchen/index.vue (1 hunks)
  • apps/web-app/app/pages/print/index.vue (1 hunks)
  • apps/web-storefront/app/components/Navigation.vue (1 hunks)
  • pnpm-workspace.yaml (2 hunks)
⏰ 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 (21)
apps/atrium-telegram/app/pages/agreement/index.vue (1)

14-14: LGTM! Consistent Tailwind important modifier syntax.

The change from !ring-0 to ring-0! updates the important modifier to the suffix notation, which is the preferred style in newer Tailwind versions. This is a purely cosmetic change with no functional impact.

Also applies to: 30-30

apps/atrium-telegram/app/pages/task/all.vue (1)

14-14: LGTM! Consistent Tailwind important modifier syntax.

The changes from !ring-0 to ring-0! across the three UI components adopt the suffix notation for the important modifier, aligning with modern Tailwind conventions.

Also applies to: 28-28, 43-43

apps/web-app/app/components/chart/NetworkChecks.client.vue (1)

2-2: LGTM! Consistent Tailwind important modifier syntax.

Updated three utility classes from prefix important notation (!px-0, !pt-0, !pb-3) to suffix notation (px-0!, pt-0!, pb-3!), maintaining consistency with the modernized Tailwind syntax throughout the PR.

apps/web-app/app/components/PartnerCard.vue (1)

32-32: LGTM! Consistent Tailwind important modifier syntax.

Updated the important modifier notation from prefix to suffix for both text-error! and bg-error! in the conditional styling. These changes maintain consistency with the PR's styling updates.

Also applies to: 41-41

apps/web-app/app/pages/kitchen/index.vue (1)

70-70: Good catch! Fixed CSS selector syntax error.

Removed the extraneous closing parenthesis from the :has() selector. The original syntax [&:has([data-action=true]))] was invalid; the corrected version [&:has([data-action=true])] properly applies padding to table cells with data-action="true".

apps/web-app/app/components/chart/NetworkRevenue.client.vue (1)

2-2: LGTM! Modern Tailwind syntax.

The change from leading ! to trailing ! (e.g., !px-0px-0!) aligns with Tailwind CSS v3+ best practices for applying important modifiers.

apps/atrium-telegram/app/components/TaskInfoCard.vue (3)

46-48: Same verification needed for wrap-break-word.

Ensure this class is properly defined as noted in the previous comment.


53-55: Same verification needed for wrap-break-word.

Ensure this class is properly defined as noted in the previous comment.


37-42: The review comment is incorrect.

In Tailwind CSS v4.1+, wrap-break-word is a standard utility class that maps to overflow-wrap: break-word. Your project uses Tailwind CSS 4.1.16, so the wrap-break-word class is properly defined by Tailwind itself and requires no custom configuration. The code in TaskInfoCard.vue is correct as-is.

Likely an incorrect or invalid review comment.

apps/web-app/app/pages/agreement/index.vue (1)

80-80: LGTM! CSS selector syntax fixed.

The extra closing parenthesis has been correctly removed from the :has() pseudo-class selector. This fix ensures the padding-right rule applies properly when data-action="true".

apps/web-app/app/pages/print/index.vue (1)

78-78: LGTM! CSS selector syntax fixed.

The extra closing parenthesis has been correctly removed, matching the fix applied in other files across this PR.

apps/atrium-telegram/app/components/PartnerCard.vue (2)

3-3: LGTM! Modern Tailwind syntax.

The change to trailing ! syntax (p-0!) follows Tailwind CSS v3+ conventions.


36-36: LGTM! Consistent syntax update.

The indicator background color important modifier now uses the modern trailing syntax.

apps/web-storefront/app/components/Navigation.vue (1)

8-8: LGTM! Modern Tailwind syntax.

The trailing ! syntax (text-secondary!) is the preferred Tailwind CSS v3+ convention.

apps/atrium-telegram/app/pages/partner/index.vue (2)

6-6: LGTM! Improved numeric handling.

Changing from v-if="totalBalance" to v-if="typeof totalBalance === 'number'" correctly handles the case where totalBalance is 0, which is falsy but should still be displayed.


16-17: LGTM! Modern Tailwind syntax.

The trailing ! syntax (ring-0!) aligns with Tailwind CSS v3+ best practices.

Also applies to: 26-27, 41-42

apps/web-app/app/pages/head/task/index.vue (1)

116-116: LGTM! CSS selector syntax fixed.

The correction removes the extra closing parenthesis and adds the missing :pr-0 rule for the data-action selector, ensuring consistent styling with other table components in the PR.

pnpm-workspace.yaml (4)

26-26: Verify Nuxt 4.2.0 compatibility with the ecosystem.

This is a minor version bump on a critical framework dependency. While typically low-risk, Nuxt 4.2.0 may introduce behavioral changes or new defaults that could affect compatibility with other pinned versions (@nuxt/ui@4.1.0, @nuxtjs/i18n@10.1.2, etc.).

Please confirm that:

  • Nuxt 4.2.0 is compatible with the rest of the ecosystem (especially @nuxt/ui, @nuxtjs/i18n, and other Nuxt-adjacent dependencies)
  • Any new defaults or breaking changes in Nuxt 4.2.0 don't conflict with your application code

42-42: Clarify the version jump for @tma.js/sdk-vue.

The update jumps from 1.0.6 to 1.0.8, skipping 1.0.7. This is unusual and could indicate that 1.0.7 was yanked, a prerelease, or simply unavailable. Confirm this is intentional.


7-7: LGTM for patch and minor dependency updates.

The updates to @antfu/eslint-config, @iconify-json packages, @nuxtjs/i18n, nitropack, and vue-tsc are incremental and low-risk. These should integrate smoothly.

Also applies to: 11-11, 13-13, 17-17, 25-25, 31-31


1-42: Note: AI summary mentions component-level styling updates, but this file only shows dependency versions.

The AI-generated summary references "reordering Tailwind important modifiers, replacing break-words with wrap-break-word CSS classes, fixing CSS selector syntax errors" across Vue components, but this file only contains dependency version updates. Confirm that the styling changes you mentioned in the PR description are captured in other files in this PR, or clarify if the AI summary is misaligned.

</div>

<div v-if="agreement?.comment" class="w-full text-sm/5 text-muted font-normal whitespace-pre-wrap break-words line-clamp-5">
<div v-if="agreement?.comment" class="w-full text-sm/5 text-muted font-normal whitespace-pre-wrap wrap-break-word line-clamp-5">

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 | 🔴 Critical

🧩 Analysis chain

Verify that wrap-break-word is a valid utility class.

The class wrap-break-word is not a standard Tailwind CSS utility. The standard class is break-words. If wrap-break-word is not defined as a custom utility in your Tailwind configuration, this change will break the text wrapping behavior.

Run the following script to check if this custom utility is defined:


🏁 Script executed:

#!/bin/bash
# Check if wrap-break-word is defined in Tailwind config
rg -n "wrap-break-word" --type-add 'config:*.{js,ts,mjs,cjs}' --type config -g '!node_modules' -g 'tailwind.config.*' -C3

# Also check for any CSS definitions
rg -n "\.wrap-break-word" --type css -g '!node_modules' -C3

Length of output: 148


I'll help verify the wrap-break-word utility class. The initial script had overly restrictive filters. Let me try a broader search approach.


🏁 Script executed:

#!/bin/bash
# Find Tailwind config files
echo "=== Finding Tailwind config files ==="
fd "tailwind" --type f -g "!node_modules"

# Broader search for wrap-break-word in all files
echo -e "\n=== Searching for wrap-break-word definitions ==="
rg "wrap-break-word" -g "!node_modules" -C2

# Also check for break-words (standard Tailwind)
echo -e "\n=== Checking file mentioned in review ==="
cat "apps/atrium-telegram/app/pages/agreement/[agreementId]/index.vue" | head -60

Length of output: 7041


Now I need to find the Tailwind configuration and check if wrap-break-word is defined. Let me search for the config files and custom utility definitions.


🏁 Script executed:

#!/bin/bash
# Find Tailwind config files with proper syntax
echo "=== Finding Tailwind config files ==="
fd "tailwind.config" --type f

# Also search for any tailwind or Tailwind config
echo -e "\n=== Broader search for config files ==="
fd "config" --type f | grep -i tailwind

# Search for wrap-break-word definitions in config and CSS
echo -e "\n=== Searching for wrap-break-word in config context ==="
rg "wrap-break-word" --type ts --type js --type css -B5 -A5

# Look for theme extensions or custom utilities
echo -e "\n=== Searching for theme/extend/utilities definitions ==="
rg "extend|theme|utilities" --type ts --type js -l | head -20

Length of output: 8214


Let me check the Nuxt configuration and CSS files where the Tailwind utility might be defined:


🏁 Script executed:

#!/bin/bash
# Check the Nuxt config in the atrium-telegram app
echo "=== Checking apps/atrium-telegram/nuxt.config.ts ==="
cat apps/atrium-telegram/nuxt.config.ts

# Search for CSS files that might define wrap-break-word
echo -e "\n=== Searching for CSS/SCSS files with @layer or wrap-break-word ==="
find apps/atrium-telegram -name "*.css" -o -name "*.scss" | head -20

# Search in CSS files for custom utilities
echo -e "\n=== Looking for @layer utilities definitions ==="
rg "@layer|wrap-break-word" --type css --type scss -B3 -A3

# Check the app.vue and global files
echo -e "\n=== Checking apps/atrium-telegram/app/app.vue ==="
cat apps/atrium-telegram/app/app.vue | head -50

Length of output: 2721


Now let me check the CSS file where the custom utility should be defined:


🏁 Script executed:

#!/bin/bash
# Check the global CSS file
echo "=== Checking apps/atrium-telegram/app/assets/css/styles.css ==="
cat apps/atrium-telegram/app/assets/css/styles.css

# Also search for any @layer definitions across CSS files
echo -e "\n=== Searching all CSS files for @layer or .wrap-break-word ==="
rg "@layer|\.wrap-break-word" --type css -B2 -A2 apps/atrium-telegram

Length of output: 4184


Let me check if wrap-break-word is defined in the @roll-stack/ui package or other Tailwind configurations:


🏁 Script executed:

#!/bin/bash
# Search for wrap-break-word throughout entire repo including packages
echo "=== Searching for wrap-break-word definition in entire repo ==="
rg "wrap-break-word" -B3 -A3

# Look for @roll-stack/ui in package.json to understand the dependency
echo -e "\n=== Checking package.json for @roll-stack/ui ==="
rg "@roll-stack/ui" --type json

# Search for Tailwind config in packages directory
echo -e "\n=== Looking for Tailwind configs in packages ==="
find packages -name "*tailwind*" -o -name "tailwind.config.*" 2>/dev/null | head -20

# Check if there's a shared Tailwind config
echo -e "\n=== Searching for theme or utilities config in packages ==="
rg "wrap-break-word|word-wrap|break-word" -g '!node_modules' --type js --type ts --type css

Length of output: 9108


I found an important inconsistency. Let me check the @roll-stack/ui package to see if it defines wrap-break-word:Critical finding: The standard Tailwind CSS utility is wrap-break-word, which allows line breaks between letters in a word if needed. This is NOT the same as break-words (which is a different utility for word-breaking behavior).

Let me verify this finding by checking the packages directory for any @roll-stack/ui configuration:


🏁 Script executed:

#!/bin/bash
# Check if @roll-stack/ui is a local package with Tailwind config
echo "=== Checking packages/ui for Tailwind config ==="
find packages/ui -name "*.ts" -o -name "*.js" -o -name "*.json" | grep -E "(tailwind|config)" | head -20

# Check the main content of packages/ui
echo -e "\n=== Listing packages/ui structure ==="
ls -la packages/ui/

# Look for CSS in packages/ui
echo -e "\n=== Looking for CSS files in packages/ui ==="
find packages/ui -name "*.css" -o -name "*.scss" 2>/dev/null | head -20

Length of output: 865


Let me check the UI package's CSS and configuration files:


🏁 Script executed:

#!/bin/bash
# Check the main CSS file in packages/ui
echo "=== Checking packages/ui/app/assets/css/main.css ==="
cat packages/ui/app/assets/css/main.css

# Check the Nuxt config
echo -e "\n=== Checking packages/ui/nuxt.config.ts ==="
cat packages/ui/nuxt.config.ts

# Check the app config
echo -e "\n=== Checking packages/ui/app/app.config.ts ==="
cat packages/ui/app/app.config.ts

# Search for wrap-break-word in the entire packages/ui
echo -e "\n=== Searching for wrap-break-word in packages/ui ==="
rg "wrap-break-word" packages/ui

Length of output: 3058


Replace wrap-break-word with break-words — undefined CSS class.

The verification confirms the review comment is correct. The class wrap-break-word is not defined anywhere in the codebase, the extended @roll-stack/ui package, or as a standard Tailwind utility. The correct Tailwind class is break-words, which is already used consistently elsewhere in the same app (e.g., ticket/Card.vue, flow/ItemCard.vue, PartnerAgreementCard.vue).

This affects multiple files in apps/atrium-telegram:

  • app/pages/agreement/[agreementId]/index.vue
  • app/pages/task/[taskId]/index.vue
  • app/components/KitchenCard.vue
  • app/components/TaskInfoCard.vue

Replace all instances of wrap-break-word with break-words to restore correct text wrapping behavior.

🤖 Prompt for AI Agents
In apps/atrium-telegram/app/pages/agreement/[agreementId]/index.vue around line
47 (and similarly in app/pages/task/[taskId]/index.vue,
app/components/KitchenCard.vue, app/components/TaskInfoCard.vue), replace the
non-existent Tailwind class "wrap-break-word" with the correct utility
"break-words" so text wrapping behaves properly; update each occurrence to use
"break-words" (no other changes required).

<SectionTitle :title="task?.name ?? ''" />

<div v-if="task?.description" class="w-full text-base/5 font-normal whitespace-pre-wrap break-words">
<div v-if="task?.description" class="w-full text-base/5 font-normal whitespace-pre-wrap wrap-break-word">

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 | 🔴 Critical

🧩 Analysis chain

Verify that wrap-break-word is a valid utility class.

The class wrap-break-word is not a standard Tailwind CSS utility (the standard is break-words). Please confirm that wrap-break-word is defined as a custom utility in your Tailwind configuration to ensure text wrapping works as expected across these four elements.

Run the following script to check if this custom utility is defined:

Also applies to: 41-41, 48-48, 55-55


🏁 Script executed:

#!/bin/bash
# Check if wrap-break-word is defined in Tailwind config
rg -n "wrap-break-word" --type-add 'config:*.{js,ts,mjs,cjs}' --type config -g '!node_modules' -g 'tailwind.config.*' -C3

# Also check for any CSS definitions
rg -n "\.wrap-break-word" --type css -g '!node_modules' -C3

Length of output: 148


I'll use a different approach to verify this custom utility. Let me search for Tailwind config files and then check for the utility definition.


🏁 Script executed:

#!/bin/bash
# Find tailwind config files
echo "=== Finding Tailwind config files ==="
fd -t f "tailwind" --max-depth 5

echo ""
echo "=== Searching for wrap-break-word in config files ==="
rg "wrap-break-word" -g "tailwind*" -g "*.config.*" -C3

echo ""
echo "=== Searching for wrap-break-word in the entire codebase ==="
rg "wrap-break-word" -C2

echo ""
echo "=== Checking for CSS files that might define this class ==="
fd -t f "\.(css|scss|less)$" -g "!node_modules" | head -20

Length of output: 5124


Let me search for the Tailwind configuration in more conventional locations and check if break-words (the standard utility) is used elsewhere:


🏁 Script executed:

#!/bin/bash
# Find tailwind config in common locations
echo "=== Looking for tailwind.config files in common locations ==="
find . -maxdepth 3 -name "tailwind.config.*" -o -name "tailwind.js" 2>/dev/null

echo ""
echo "=== Check package.json for tailwind references ==="
find . -maxdepth 3 -name "package.json" -exec grep -l "tailwind" {} \;

echo ""
echo "=== Search for 'break-words' (standard Tailwind utility) in codebase ==="
rg "break-words" -C2

echo ""
echo "=== List all CSS/SCSS files in the project ==="
fd "\.(css|scss)$" --max-depth 5 2>/dev/null | grep -v node_modules | head -20

Length of output: 3614


Let me check the Tailwind configuration in the UI package:


🏁 Script executed:

#!/bin/bash
# Check packages/ui/package.json for tailwind config
echo "=== Content of packages/ui/package.json (tailwind section) ==="
cat ./packages/ui/package.json | head -50

echo ""
echo "=== Check if there's a tailwind config within packages/ui ==="
find ./packages/ui -maxdepth 2 -type f \( -name "tailwind.config.*" -o -name "tailwind.js" -o -name "*.css" -o -name "*.scss" \) 2>/dev/null

echo ""
echo "=== Verify: are wrap-break-word and break-words in the same files? ==="
rg -l "wrap-break-word|break-words" apps/atrium-telegram/app/pages/task/\[taskId\]/index.vue -C1

Length of output: 1453


Replace wrap-break-word with break-words (standard Tailwind utility).

The class wrap-break-word is not defined anywhere in your codebase and is not a standard Tailwind CSS utility. The codebase already uses the correct standard utility break-words successfully in other files (e.g., apps/web-app/app/pages/epic/index.vue, apps/atrium-telegram/app/pages/ticket/[ticketId]/index.vue). Replace all instances of wrap-break-word with break-words on lines 35, 41, 48, and 55, and also in apps/atrium-telegram/app/components/TaskInfoCard.vue and apps/atrium-telegram/app/components/KitchenCard.vue where the same issue occurs.

🤖 Prompt for AI Agents
In apps/atrium-telegram/app/pages/task/[taskId]/index.vue around lines 35, 41,
48 and 55, and in apps/atrium-telegram/app/components/TaskInfoCard.vue and
apps/atrium-telegram/app/components/KitchenCard.vue, replace the non-existent
Tailwind class "wrap-break-word" with the correct standard utility
"break-words"; update each class attribute that contains "wrap-break-word" to
use "break-words" so styling matches other files and Tailwind expectations.

<div
v-if="isCatalogPage && !channelStore.isKitchenOpened"
class="tg-safe-area -mb-[calc(var(--tg-viewport-content-safe-area-inset-top)+var(--tg-viewport-safe-area-inset-top))] tg-text-button bg-gradient-to-b from-indigo-950 to-indigo-800 motion-preset-slide-down"
class="tg-safe-area -mb-[calc(var(--tg-viewport-content-safe-area-inset-top)+var(--tg-viewport-safe-area-inset-top))] tg-text-button bg-linear-to-b from-indigo-950 to-indigo-800 motion-preset-slide-down"

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 | 🔴 Critical

Invalid Tailwind class breaks gradient styling.

bg-linear-to-b is not a valid Tailwind CSS utility class. The correct class is bg-gradient-to-b. This change will break the gradient background rendering since the from-indigo-950 and to-indigo-800 utilities require a valid gradient direction class to function.

Apply this diff to restore the correct Tailwind class:

-    class="tg-safe-area -mb-[calc(var(--tg-viewport-content-safe-area-inset-top)+var(--tg-viewport-safe-area-inset-top))] tg-text-button bg-linear-to-b from-indigo-950 to-indigo-800 motion-preset-slide-down"
+    class="tg-safe-area -mb-[calc(var(--tg-viewport-content-safe-area-inset-top)+var(--tg-viewport-safe-area-inset-top))] tg-text-button bg-gradient-to-b from-indigo-950 to-indigo-800 motion-preset-slide-down"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
class="tg-safe-area -mb-[calc(var(--tg-viewport-content-safe-area-inset-top)+var(--tg-viewport-safe-area-inset-top))] tg-text-button bg-linear-to-b from-indigo-950 to-indigo-800 motion-preset-slide-down"
class="tg-safe-area -mb-[calc(var(--tg-viewport-content-safe-area-inset-top)+var(--tg-viewport-safe-area-inset-top))] tg-text-button bg-gradient-to-b from-indigo-950 to-indigo-800 motion-preset-slide-down"
🤖 Prompt for AI Agents
In apps/storefront-telegram/app/components/catalog/ClosedNowHeader.vue around
line 4 the Tailwind utility is mistyped as "bg-linear-to-b" which prevents the
gradient from rendering; replace that class with the correct "bg-gradient-to-b"
so the "from-indigo-950" and "to-indigo-800" color stops apply properly and the
background gradient displays as intended.

@sonarqubecloud

Copy link
Copy Markdown

@hmbanan666 hmbanan666 merged commit a5c39e3 into main Oct 27, 2025
7 of 8 checks passed
@hmbanan666 hmbanan666 deleted the lib-update branch October 27, 2025 09:09

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7d4db84 and 3f48b77.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • pnpm-workspace.yaml (2 hunks)
⏰ 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). (2)
  • GitHub Check: Socket Security: Pull Request Alerts
  • GitHub Check: build
🔇 Additional comments (3)
pnpm-workspace.yaml (3)

57-57: No issues found; SDK upgrade is compatible.

The OpenAI SDK 6.7.0 introduces no breaking changes compared with 6.2.x, containing only zod@4 support and doc/bug fixes. The last breaking change occurred in 6.0.0, well before the current version range. The codebase can safely use the updated SDK.


26-26: No migration changes required for Nuxt 4.2.0 upgrade.

While Nuxt 4.2.0 introduces breaking changes (notably disabling app.pageTransition and app.layoutTransition by default), this codebase uses custom component-level CSS transitions instead. No explicit pageTransition or layoutTransition configurations exist in the workspace, and the breaking changes do not impact this code. The upgrade is safe; no code or configuration changes are necessary.


7-31: No critical security or compatibility issues detected.

Based on verification:

  • None of the dependencies are marked as deprecated
  • npm audit detected no vulnerabilities
  • All packages are at or near latest stable versions with compatible Node engine requirements (Node 18+)
  • pnpm-lock.yaml is properly maintained

The dependency versions in the catalog are current and compatible with the project's pnpm@10.19.0 configuration.

Comment thread pnpm-workspace.yaml
'@nextorders/queue': ^0.3.0
'@nuxt/ui': ^4.1.0
'@openai/agents': ^0.1.9
'@openai/agents': ^0.2.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 | 🔴 Critical

🧩 Analysis chain

Verify @openai/agents 0.2.1 compatibility.

Pre-1.0 versions can introduce breaking changes on minor version bumps. The update from 0.1.9 to 0.2.1 crosses a minor boundary. Ensure the codebase changes are compatible with any API or behavioral changes in 0.2.1.


🌐 Web query:

What are the breaking changes in @openai/agents 0.2.1 from 0.1.x?

💡 Result:

Short answer — two main breaking / notable changes when moving from 0.1.x → 0.2.1:

  1. Agent typing change: several APIs that previously accepted an Agent now accept AgentBase (you should replace Agent types with AgentBase where needed). This is a deliberate minor-version breaking change introduced in 0.2.0. [1][2]

  2. Dependency bump: @openai/agents v0.2.1 updates the underlying openai package range from v5 → v6 (upgrade of the OpenAI SDK). Test/update any code that depends on the older openai v5 behavior. [3]

Sources:

  • OpenAI Agents release changelog (breaking-change description for 0.2.0 / versioning). [1]
  • AgentBase / Agent docs showing the AgentBase split. [2]
  • openai-agents-js v0.2.1 release notes (openai package bump). [3]

I'll verify the compatibility concerns by searching the codebase for usage of the affected APIs.


🏁 Script executed:

#!/bin/bash
# Search for Agent type usage from @openai/agents
echo "=== Searching for Agent type imports/usage ==="
rg -n -C3 "from\s+['\"]@openai/agents['\"]|import.*Agent|Agent\s*<|:\s*Agent\b" --type=ts --type=js

echo -e "\n=== Searching for AgentBase usage ==="
rg -n "AgentBase" --type=ts --type=js

echo -e "\n=== Searching for direct openai SDK imports ==="
rg -n "from\s+['\"]openai['\"]|import.*openai" --type=ts --type=js

Length of output: 1396


I need to examine how the Agent type is actually used in the code.


🏁 Script executed:

#!/bin/bash
# Get full content of the file using Agent type
cat apps/web-app/server/api/agent/index.post.ts

Length of output: 1710


Update Agent type to AgentBase before upgrading to @openai/agents 0.2.1.

The upgrade introduces a breaking change: the Agent type has been replaced with AgentBase, and code that previously accepted an Agent now requires AgentBase. The codebase currently uses the Agent type directly at apps/web-app/server/api/agent/index.post.ts:45 with new Agent({...}), which will fail with 0.2.1.

Additionally, the @openai/agents v0.2.1 updates the underlying openai package range from v5 → v6. Review and test the OpenAI SDK usage in the three files that import it directly to ensure compatibility with the v6 API.

This was referenced Oct 27, 2025
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