Skip to content

Clarify fade scrollbar speed semantics and document theme key#4711

Merged
liannacasper merged 1 commit intomasterfrom
codex/fix-scrollbar-fade-out-behavior
Apr 6, 2026
Merged

Clarify fade scrollbar speed semantics and document theme key#4711
liannacasper merged 1 commit intomasterfrom
codex/fix-scrollbar-fade-out-behavior

Conversation

@liannacasper
Copy link
Copy Markdown
Collaborator

Motivation

  • Clarify the meaning and units of the fadeScrollBarSpeed setting so developers can tune scrollbar fade duration correctly.

Description

  • Expanded the Javadoc for LookAndFeel#setFadeScrollBarSpeed(int) to state that the value is a per-frame opacity decrement (not milliseconds), added the approximate duration formula durationMs ~= (255 / fadeScrollBarSpeed) * (1000 / Display.getInstance().getFrameRate()), and included example values for 60 FPS.
  • Added a setFadeScrollBarSpeed(int) _(API)_ entry to docs/developer-guide/Advanced-Theming.asciidoc with the same explanation and examples.

Testing

  • Ran a full project compilation and documentation build; both succeeded.
  • Existing automated unit tests were executed and passed successfully.

Codex Task

@liannacasper liannacasper linked an issue Apr 6, 2026 that may be closed by this pull request
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 6, 2026

Developer Guide build artifacts are available for download from this workflow run:

Developer Guide quality checks:

  • AsciiDoc linter: 1 issue(s) flagged (1 errors) (exit code 1) (report)
  • Vale: 18581 alert(s) (2700 errors, 6345 warnings, 9536 suggestions) (exit code 1) (report)
  • Image references: 33 unused image(s) found (report)

Unused image preview:

  • img/uwp-app-manager-apps.png
  • img/uwp-certificate-generator.png
  • img/uwp-cn1settings-debug-desktop-selected.png
  • img/uwp-cn1settings-disk-icon.png
  • img/uwp-cn1settings-uwp.png
  • img/uwp-cn1settings-windows-settings-menu-item.png
  • img/uwp-dashboard-download-appxbundle.png
  • img/uwp-extract-zip-file.png
  • img/uwp-mobile-recently-added.png
  • img/uwp-mobile-settings-developer-mode.png
  • ... and 23 more

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 6, 2026

✅ Continuous Quality Report

Test & Coverage

Static Analysis

Generated automatically by the PR CI workflow.

@shai-almog
Copy link
Copy Markdown
Collaborator

shai-almog commented Apr 6, 2026

Compared 35 screenshots: 35 matched.

Native Android coverage

  • 📊 Line coverage: 7.74% (3955/51098 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 6.11% (19613/321139), branch 2.89% (899/31161), complexity 3.62% (1080/29819), method 6.37% (886/13907), class 10.56% (195/1847)
    • Lowest covered classes
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysKt – 0.00% (0/6327 lines covered)
      • kotlin.collections.unsigned.kotlin.collections.unsigned.UArraysKt___UArraysKt – 0.00% (0/2384 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.ClassReader – 0.00% (0/1519 lines covered)
      • kotlin.collections.kotlin.collections.CollectionsKt___CollectionsKt – 0.00% (0/1148 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.MethodWriter – 0.00% (0/923 lines covered)
      • kotlin.sequences.kotlin.sequences.SequencesKt___SequencesKt – 0.00% (0/712 lines covered)
      • kotlin.text.kotlin.text.StringsKt___StringsKt – 0.00% (0/623 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.Frame – 0.00% (0/564 lines covered)
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysJvmKt – 0.00% (0/495 lines covered)
      • kotlinx.coroutines.kotlinx.coroutines.JobSupport – 0.00% (0/423 lines covered)

✅ Native Android screenshot tests passed.

Native Android coverage

  • 📊 Line coverage: 7.74% (3955/51098 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 6.11% (19613/321139), branch 2.89% (899/31161), complexity 3.62% (1080/29819), method 6.37% (886/13907), class 10.56% (195/1847)
    • Lowest covered classes
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysKt – 0.00% (0/6327 lines covered)
      • kotlin.collections.unsigned.kotlin.collections.unsigned.UArraysKt___UArraysKt – 0.00% (0/2384 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.ClassReader – 0.00% (0/1519 lines covered)
      • kotlin.collections.kotlin.collections.CollectionsKt___CollectionsKt – 0.00% (0/1148 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.MethodWriter – 0.00% (0/923 lines covered)
      • kotlin.sequences.kotlin.sequences.SequencesKt___SequencesKt – 0.00% (0/712 lines covered)
      • kotlin.text.kotlin.text.StringsKt___StringsKt – 0.00% (0/623 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.Frame – 0.00% (0/564 lines covered)
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysJvmKt – 0.00% (0/495 lines covered)
      • kotlinx.coroutines.kotlinx.coroutines.JobSupport – 0.00% (0/423 lines covered)

@shai-almog
Copy link
Copy Markdown
Collaborator

shai-almog commented Apr 6, 2026

Compared 35 screenshots: 35 matched.
✅ Native iOS screenshot tests passed.

Benchmark Results

  • VM Translation Time: 0 seconds
  • Compilation Time: 102 seconds

Detailed Performance Metrics

Metric Duration
Simulator Boot 2000 ms
Simulator Boot (Run) 1000 ms
App Install 2000 ms
App Launch 8000 ms
Test Execution 180000 ms

@liannacasper liannacasper merged commit 820a51e into master Apr 6, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scrollbar "fade out" does not work

2 participants