Skip to content

fix(web-pkg): keep full folder names when file extensions are hidden - #3369

Merged
AlexAndBear merged 1 commit into
mainfrom
fix/folder-name-extension-visibility
Sep 15, 2026
Merged

AlexAndBear merged 1 commit into
mainfrom
fix/folder-name-extension-visibility

Conversation

@AlexAndBear

@AlexAndBear AlexAndBear commented Sep 14, 2026 •

Copy link
Copy Markdown
Member

Description

This bugfix ensures that the "Show file extensions" preference only affects files and never truncates folder names.

Why this is important:

  • Folder names are often semantic identifiers, not cosmetic labels.
  • Hiding a folder suffix changes the visible identity of the folder and can make users open, move, or share the wrong target.
  • In date/version naming conventions, the segment after the last dot is usually meaningful data.

Examples where full folder names must stay visible:

  • 20.01.2026
  • 2026.01.Release
  • Q4.2026.Archive
  • Project.Alpha.v2
  • Customer.ACME.2026
  • Invoices.2026.01

Technical changes:

  • Apply extension split/render logic only for resources with type === 'file' in ResourceName.vue.
  • Keep folder names with dot segments fully visible in table/list/tile rendering.
  • Prevent trailing-dot titles for files without an extension (for example README, not README.).
  • Add targeted unit tests for both behaviors in ResourceName.spec.ts.

Related Issue

  • Fixes <issue_link>

How Has This Been Tested?

  • test environment: local development workspace on macOS, pnpm + Vitest
  • test case 1: pnpm test:unit --run packages/web-pkg/tests/unit/components/FilesList/ResourceName.spec.ts
  • test case 2: pnpm test:unit --run packages/web-pkg/tests/unit/components/FilesList/ResourceTable.spec.ts

Types of changes

  • Bugfix
  • Enhancement (a change that doesn't break existing code or deployments)
  • Breaking change (a modification that affects current functionality)
  • Technical debt (addressing code that needs refactoring or improvements)
  • Tests (adding or improving tests)
  • Documentation (updates or additions to documentation)
  • Maintenance (like dependency updates or tooling adjustments)

@AlexAndBear

Copy link
Copy Markdown
Member Author

@JammingBen @kulmann IHMO this is 'cirticial' and shouldn't be implemented that way, in the first place 🤷‍♀️

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No unresolved blocking issues were identified.

Pull request overview

Fixes resource-name rendering so extension hiding applies only to files, preserving dotted folder names and avoiding trailing dots for extensionless files.

Changes:

  • Restricts extension logic to file resources.
  • Preserves full dotted folder names.
  • Adds targeted unit tests.
File summaries
File Summary
packages/web-pkg/tests/unit/components/FilesList/ResourceName.spec.ts Adds regression tests for dotted folders and extensionless files.
packages/web-pkg/src/components/FilesList/ResourceName.vue Restricts extension rendering to files.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@AlexAndBear AlexAndBear moved this from Qualification to In Progress in OpenCloud Team Board Sep 14, 2026
@AlexAndBear
AlexAndBear merged commit 0c8d871 into main Sep 15, 2026
32 of 33 checks passed
@AlexAndBear
AlexAndBear deleted the fix/folder-name-extension-visibility branch September 15, 2026 06:44
@github-project-automation github-project-automation Bot moved this from In Progress to Done in OpenCloud Team Board Sep 15, 2026
@openclouders openclouders mentioned this pull request Sep 15, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants