Skip to content

🎨 Review cleanup - #65

Merged
HanXHX merged 2 commits into
masterfrom
review/fable
Oct 6, 2026
Merged

HanXHX merged 2 commits into
masterfrom
review/fable

Conversation

@HanXHX

@HanXHX HanXHX commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI balanced review requested due to automatic review settings October 1, 2026 07:09

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.

Copilot review overview

🟡 Changes recommended

The address validation still accepts invalid ports, defeating the intended fail-fast behavior.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Hardens Unicode handling, WebDAV validation/observability, metrics labels, and configuration display.

Changes:

  • Preserves selected safe Unicode format characters.
  • Validates WebDAV addresses and instruments authentication failures.
  • Rejects reserved Prometheus labels and displays YAML lists correctly.
File Description
internal/​ui/​escape.go Refines safe Unicode handling.
internal/​ui/​escape_test.go Tests permitted format characters.
internal/​auth/​oidc_test.go Removes trailing whitespace.
doc/​webdav.md Documents reserved metric labels.
cmd/​webdav.go Adds address validation and adjusts instrumentation order.
cmd/​webdav_metrics.go Rejects reserved label names.
cmd/​webdav_metrics_test.go Tests labels and address validation.
cmd/​config.go Supports YAML lists in effective values.
cmd/​config_test.go Tests YAML-list display.
CLAUDE.md Corrects offline-command documentation.

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

Comment thread cmd/webdav.go
HanXHX and others added 2 commits October 6, 2026 08:18
unicode.IsGraphic refuses every format character (Cf), including some that
real names contain: the zero width non-joiner (Persian, Urdu, Indic
scripts), the zero width joiner (Indic scripts, composed emoji such as
👨‍💻), the soft hyphen and the tag characters of subdivision flag emoji.
ui.FileName turned them into "_" on disk, irreversibly, in transfer
download, dataroom cp, admin dataroom download and admin export-all-data,
and ui.Escape quoted those names in listings. Both now accept these runes.

Bidi marks (U+200E, U+200F, U+061C), overrides, isolates and the zero
width space stay refused: they reorder or hide what surrounds them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- --metrics-label refuses the reserved names le, quantile and __*: the
  registry accepted them, then Prometheus rejected every scrape.
- webdav serve validates --addr (host:port, port required) before
  anything else: "--addr 0.0.0.0" used to fail only after the token, the
  API and the key passphrase had been checked.
- instrumentWebdav now wraps basic auth, so rejected credentials (401)
  are counted in retyc_cli_webdav_requests_total and traced.
- config show joins list keys read from a YAML list ([]any), not only
  from the environment ([]string): webdav.metrics.labels showed empty.
- gofmt internal/auth/oidc_test.go; CLAUDE.md lists config path / show
  among the annotationOffline commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@HanXHX HanXHX changed the title Review/fable 🎨 Review cleanup Oct 6, 2026
@HanXHX
HanXHX merged commit bc07530 into master Oct 6, 2026
4 checks passed
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