diff --git a/web/src/features/social/skill-reviews.test.tsx b/web/src/features/social/skill-reviews.test.tsx
index de3710e4..c150213a 100644
--- a/web/src/features/social/skill-reviews.test.tsx
+++ b/web/src/features/social/skill-reviews.test.tsx
@@ -135,6 +135,31 @@ describe('skill reviews', () => {
expect(mocks.requestedPages[mocks.requestedPages.length - 1]).toBe(0)
})
+ it('wraps long reviewer names and review text', () => {
+ const reviewer = 'review_author_1788284593_353294'
+ const reviewText = 'x'.repeat(200)
+ mocks.pages.set(0, {
+ items: [{
+ id: 8,
+ displayName: reviewer,
+ score: 5,
+ reviewText,
+ status: 'VISIBLE',
+ authoredByViewer: false,
+ createdAt: '2026-09-01T00:00:00Z',
+ updatedAt: '2026-09-01T00:00:00Z',
+ }],
+ total: 1,
+ page: 0,
+ size: 20,
+ })
+
+ render(
{review.reviewText}
+{review.reviewText}
{hidden && review.moderationReason ? (
{t('skillReviews.moderationReason', { reason: review.moderationReason })}
diff --git a/web/src/pages/skill-detail.test.tsx b/web/src/pages/skill-detail.test.tsx
index 4cdfc9aa..b9ba9a71 100644
--- a/web/src/pages/skill-detail.test.tsx
+++ b/web/src/pages/skill-detail.test.tsx
@@ -348,6 +348,20 @@ describe('SkillDetailPage', () => {
expect(html).not.toContain('skillDetail.deleteSkill')
})
+ it('wraps a long skill name instead of widening the mobile page', () => {
+ useSkillDetailMock.mockReturnValue({
+ data: createSkill({ displayName: 'review-runtime-1788284593-353294' }),
+ isLoading: false,
+ isFetching: false,
+ error: null,
+ })
+
+ const html = renderToStaticMarkup(