Skip to content

Conversation

@sawka
Copy link
Member

@sawka sawka commented Nov 14, 2025

No description provided.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 14, 2025

Warning

Rate limit exceeded

@sawka has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 2 minutes and 51 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 24d39bf and b66a594.

📒 Files selected for processing (2)
  • tsunami/app/defaultclient.go (3 hunks)
  • tsunami/util/util.go (1 hunks)

Walkthrough

The changes introduce a refactored metadata handling system for the Tsunami framework. A new AppMeta type alias is added to tsunami/app/, wrapping engine.AppMeta, with a SetAppMeta function that truncates the short description if it exceeds MaxShortDescLen and delegates to the engine client. All eight demo applications are updated to replace separate AppTitle and AppShortDesc constants with a single AppMeta struct variable containing Title and ShortDesc fields. The app template is updated to call app.SetAppMeta() instead of separate app.SetTitle() and app.SetShortDesc() calls.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

This is a homogeneous refactoring with consistent pattern changes. The core logic is straightforward—moving from separate metadata constants to a composite struct. The same refactoring pattern is applied identically across eight demo applications, which reduces cognitive overhead once the pattern is understood. Key areas to verify:

  • Verify that the SetAppMeta truncation logic correctly handles the ellipsis appending and respects MaxShortDescLen
  • Confirm all demo applications have preserved their original Title and ShortDesc values in the new AppMeta variable
  • Validate that the template file correctly instantiates and passes AppMeta to the new function
  • Ensure backward compatibility considerations are addressed (if any code outside these files references the removed AppTitle and AppShortDesc constants)

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether the description relates to the changeset. Add a description explaining the rationale for consolidating metadata into AppMeta and any migration notes for users of this API.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and accurately summarizes the main change: replacing separate AppTitle and AppShortDesc constants with a unified AppMeta struct across all files.

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.

Copy link
Contributor

@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: 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 48c6b95 and 24d39bf.

📒 Files selected for processing (10)
  • tsunami/app/defaultclient.go (2 hunks)
  • tsunami/demo/cpuchart/app.go (1 hunks)
  • tsunami/demo/githubaction/app.go (1 hunks)
  • tsunami/demo/modaltest/app.go (1 hunks)
  • tsunami/demo/pomodoro/app.go (1 hunks)
  • tsunami/demo/recharts/app.go (1 hunks)
  • tsunami/demo/tabletest/app.go (1 hunks)
  • tsunami/demo/todo/app.go (1 hunks)
  • tsunami/demo/tsunamiconfig/app.go (1 hunks)
  • tsunami/templates/app-main.go.tmpl (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (8)
tsunami/demo/pomodoro/app.go (8)
tsunami/demo/cpuchart/app.go (1)
  • AppMeta (12-15)
tsunami/demo/githubaction/app.go (1)
  • AppMeta (18-21)
tsunami/demo/modaltest/app.go (1)
  • AppMeta (8-11)
tsunami/demo/recharts/app.go (1)
  • AppMeta (11-14)
tsunami/demo/tabletest/app.go (1)
  • AppMeta (11-14)
tsunami/demo/todo/app.go (1)
  • AppMeta (11-14)
tsunami/demo/tsunamiconfig/app.go (1)
  • AppMeta (17-20)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
tsunami/demo/recharts/app.go (2)
tsunami/demo/cpuchart/app.go (1)
  • AppMeta (12-15)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
tsunami/demo/cpuchart/app.go (8)
tsunami/demo/githubaction/app.go (1)
  • AppMeta (18-21)
tsunami/demo/modaltest/app.go (1)
  • AppMeta (8-11)
tsunami/demo/pomodoro/app.go (1)
  • AppMeta (11-14)
tsunami/demo/recharts/app.go (1)
  • AppMeta (11-14)
tsunami/demo/tabletest/app.go (1)
  • AppMeta (11-14)
tsunami/demo/todo/app.go (1)
  • AppMeta (11-14)
tsunami/demo/tsunamiconfig/app.go (1)
  • AppMeta (17-20)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
tsunami/demo/todo/app.go (1)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
tsunami/demo/modaltest/app.go (1)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
tsunami/demo/tabletest/app.go (3)
tsunami/demo/cpuchart/app.go (1)
  • AppMeta (12-15)
tsunami/demo/modaltest/app.go (1)
  • AppMeta (8-11)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
tsunami/demo/tsunamiconfig/app.go (2)
tsunami/demo/cpuchart/app.go (1)
  • AppMeta (12-15)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
tsunami/demo/githubaction/app.go (2)
tsunami/demo/cpuchart/app.go (1)
  • AppMeta (12-15)
tsunami/engine/clientimpl.go (1)
  • AppMeta (43-46)
⏰ 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). (3)
  • GitHub Check: Build for TestDriver.ai
  • GitHub Check: Analyze (go)
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (10)
tsunami/app/defaultclient.go (1)

21-21: LGTM! Clean type alias.

The AppMeta type alias appropriately exposes engine.AppMeta through the app package, providing a clean public API for application metadata.

tsunami/templates/app-main.go.tmpl (1)

21-21: LGTM! Clean consolidation of metadata setup.

The template now uses a single SetAppMeta(AppMeta) call instead of separate SetTitle and SetShortDesc calls, which simplifies the initialization and aligns with the new unified metadata approach.

tsunami/demo/recharts/app.go (1)

11-14: LGTM! Consistent metadata refactoring.

The AppMeta variable correctly replaces the separate AppTitle and AppShortDesc constants, consolidating application metadata into a single structured value.

tsunami/demo/pomodoro/app.go (1)

11-14: LGTM! Consistent metadata refactoring.

The AppMeta variable correctly replaces the separate AppTitle and AppShortDesc constants, following the same pattern as other demos.

tsunami/demo/cpuchart/app.go (1)

12-15: LGTM! Consistent metadata refactoring.

The AppMeta variable correctly consolidates the application metadata into a single structured value, consistent with the refactoring pattern applied across all demos.

tsunami/demo/tabletest/app.go (1)

11-14: LGTM! Consistent metadata refactoring.

The AppMeta variable correctly replaces the separate metadata constants, following the unified approach established in this PR.

tsunami/demo/githubaction/app.go (1)

18-21: LGTM! Consistent metadata refactoring.

The AppMeta variable correctly consolidates application metadata, consistent with the refactoring pattern across all demo applications.

tsunami/demo/tsunamiconfig/app.go (1)

17-20: LGTM! Consistent metadata refactoring.

The AppMeta variable correctly consolidates application metadata, completing the consistent refactoring pattern across all demo applications.

tsunami/demo/todo/app.go (1)

11-14: LGTM! Consistent with the refactoring pattern.

The migration to AppMeta is correctly implemented and follows the same pattern as other demo apps.

tsunami/demo/modaltest/app.go (1)

8-11: Verification passed—migration is complete and correct.

All references to the old AppTitle and AppShortDesc struct fields have been properly updated. The AppManifest struct now correctly populates these fields from appMeta.Title and appMeta.ShortDesc, and the exported SetTitle() and SetShortDesc() functions continue to work as public API convenience wrappers around the new AppMeta structure. No dangling or broken references remain.

@sawka sawka merged commit 7f22eb0 into main Nov 14, 2025
6 of 8 checks passed
@sawka sawka deleted the sawka/appmeta branch November 14, 2025 01:54
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.

2 participants