Skip to content

fix(i18n): isolate unknown-direction directory and file names - #622

Draft
seonghobae wants to merge 24 commits into
masterfrom
palette/bidi-dir-auto-10108333383405310474
Draft

fix(i18n): isolate unknown-direction directory and file names#622
seonghobae wants to merge 24 commits into
masterfrom
palette/bidi-dir-auto-10108333383405310474

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Current UX/i18n boundary

Filesystem-supplied directory and file names can have an unknown base direction. WHATWG HTML defines dir="auto" as directionally isolated text whose direction is chosen from the element contents with a first-strong-character heuristic. W3C Internationalization recommends it for inserted multilingual text whose direction is not known in advance, while explicitly noting corner cases.

This is therefore a narrow dynamic-text contract, not a promise that dir="auto" fixes every mixed-direction punctuation case and not a repository-wide rule for fixed product copy.

RED → GREEN and non-force stack repair

The prior exact head a1b9b9816e2a620b9afe37602784e4d013856722 had three repair findings:

  • its only regression asserted dir="auto" on a fixed ASCII Root heading rather than exercising RTL/mixed-script generated content;
  • generated .jules/palette.md carried a future-dated 2026-11-20 repository-wide always rule;
  • the filename span was based on stale markup and would overwrite canonical fix(ui): make pressed-link feedback visible on the rendered filename #599's semantic .entry-name interaction target.

Normal two-parent descendant 0c2dbaef849d91d61a712e3a52ad4394927ce1dc preserves the old #622 head as first parent and #599 exact head b811d4721ab3940774e88d1ed73bbfd89137d3a5 as second parent. The branch ref advanced with force=false; no rebase or history deletion was used. Follow-up fc4948911f87ec92f0fc8421798741ca8ef7340b only corrects the living-standard references to APA 7 n.d. plus retrieval-date form.

The merged tree:

  • keeps fix(ui): make pressed-link feedback visible on the rendered filename #599's .entry-name markup and hover/focus-visible/active regression;
  • adds dir="auto" only to the dynamic directory <h1> and visible dynamic .entry-name filename span;
  • leaves the fixed parent .. row and visually hidden Korean type label outside the auto-direction boundary;
  • restores .jules/palette.md byte-for-byte to protected/canonical content;
  • adds BidirectionalTextDirectionTest using a real generated index with mixed Arabic/Latin directory and filename text;
  • records the buyer-visible behavior in CHANGELOG.md;
  • adds docs/doctoring/bidirectional-generated-names.md with scope, alternatives, rollback, verification and primary WHATWG/W3C traceability in APA 7 form.

Fresh protected-base comparison from master@728f0f33323e43573d6664209891099502827d5d to exact current head fc4948911f87ec92f0fc8421798741ca8ef7340b is ahead 18 / behind 0 with merge base exactly that protected head. Effective paths are CHANGELOG.md, the BiDi doctoring record, main.kt, the new BiDi regression, #599's generated-index regression, and the existing MainTest.kt heading assertion. The generated Palette doctrine is no longer in the diff.

Primary references:

Exact-head evidence

Fresh pull-request workflows have materialized on fc4948911f87ec92f0fc8421798741ca8ef7340b: CI 33961245173, Security Scan 33961245094, SAST Semgrep 33961245115, and CodeQL PR 33961245121 are queued. None is terminal GREEN, and no predecessor evidence transfers.

Keep Draft until this unchanged exact head has terminal applicable CI/security/SAST/CodeQL and current review evidence. Browser/accessibility-tree verification should confirm the generated RTL/mixed-script name direction without changing the parent-navigation/type-label semantics; source tests do not substitute for runtime browser evidence.

Delivery Gate

  • 의도성: PASS — unknown-direction external text is isolated without changing fixed Korean UI copy.
  • 기능 완전성: PARTIAL — source, stack and real generated-output regression are repaired; exact-head browser/hosted execution is pending.
  • 콘텐츠 적합성: PASS — future-dated/global generated doctrine is removed; no template-only UI was added.
  • 복원력: PARTIAL — mixed Arabic/Latin output and fixed-copy boundaries are executable contracts; browser/AT evidence remains.
  • 증거성: PARTIAL — primary standards, APA 7 code-current doctoring, CHANGELOG and exact-head tests exist; hosted gates are non-terminal.
  • 고유성: N/A — i18n/markup contract, not a brand redesign.

No self-approval, force-push, destructive rebase, no-op retrigger, gate weakening, or predecessor-evidence transfer.

@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

seonghobae and others added 5 commits September 5, 2026 02:32
디렉토리 및 파일 이름이 아랍어 등 양방향(BiDi) 텍스트를 포함할 때
발생하는 텍스트 렌더링 문제와 구두점 오작동을 해결하기 위해
해당 요소에 `dir="auto"` 속성을 추가했습니다.
@seonghobae
seonghobae marked this pull request as draft September 5, 2026 02:48
@seonghobae seonghobae changed the title 🎨 Palette: [UX improvement] BiDi 텍스트 지원을 위한 dir="auto" 속성 추가 fix(i18n): isolate unknown-direction directory and file names Sep 5, 2026
seonghobae and others added 8 commits September 5, 2026 19:33
디렉토리 및 파일 이름이 아랍어 등 양방향(BiDi) 텍스트를 포함할 때
발생하는 텍스트 렌더링 문제와 구두점 오작동을 해결하기 위해
해당 요소에 `dir="auto"` 속성을 추가했습니다. (스크래치 파일 제거 및 한글화 번역 포함)
디렉토리 및 파일 이름이 아랍어 등 양방향(BiDi) 텍스트를 포함할 때
발생하는 텍스트 렌더링 문제와 구두점 오작동을 해결하기 위해
해당 요소에 `dir="auto"` 속성을 추가했습니다. (스크래치 파일 완전 제거 및 한글화 적용 검증 완료)
디렉토리 및 파일 이름이 아랍어 등 양방향(BiDi) 텍스트를 포함할 때
발생하는 텍스트 렌더링 문제와 구두점 오작동을 해결하기 위해
해당 요소에 `dir="auto"` 속성을 추가했습니다. (스크래치 파일 완전 제거, CHANGELOG 및 문서 한글화 적용 검증 완료)
디렉토리 및 파일 이름이 아랍어 등 양방향(BiDi) 텍스트를 포함할 때
발생하는 텍스트 렌더링 문제와 구두점 오작동을 해결하기 위해
해당 요소에 `dir="auto"` 속성을 추가했습니다.
디렉토리 및 파일 이름이 아랍어 등 양방향(BiDi) 텍스트를 포함할 때
발생하는 텍스트 렌더링 문제와 구두점 오작동을 해결하기 위해
해당 요소에 `dir="auto"` 속성을 추가했습니다.
디렉토리 및 파일 이름이 아랍어 등 양방향(BiDi) 텍스트를 포함할 때
발생하는 텍스트 렌더링 문제와 구두점 오작동을 해결하기 위해
해당 요소에 `dir="auto"` 속성을 추가했습니다.
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