Skip to content

🐛 Prevent scroll-to-top on restart/fast buttons in termynal.js#13714

Merged
tiangolo merged 5 commits intofastapi:masterfrom
Ashish-Pandey62:fix-termynal-restart-fast-scroll-behaviour-fix
Aug 31, 2025
Merged

🐛 Prevent scroll-to-top on restart/fast buttons in termynal.js#13714
tiangolo merged 5 commits intofastapi:masterfrom
Ashish-Pandey62:fix-termynal-restart-fast-scroll-behaviour-fix

Conversation

@Ashish-Pandey62
Copy link
Contributor

Issue: Clicking the "restart" or "fast" buttons in the terminal widget causes the page to scroll to the top due to the href="#" attribute, which disrupts the user experience by interrupting their reading flow.

Fix: Changed href="#" to href="javascript:void(0)" in the generateRestart and generateFinish methods of termynal.js. This prevents the scroll behavior while keeping the UI and functionality intact.

Testing: Tested locally on the FastAPI docs page. The buttons no longer cause the page to scroll to the top, and their functionality (restarting or speeding up the terminal animation) remains unchanged.

@github-actions github-actions bot added the docs Documentation about how to use FastAPI label May 14, 2025
YuriiMotov

This comment was marked as outdated.

@YuriiMotov YuriiMotov changed the title Prevent scroll-to-top on restart/fast buttons in termynal.js 🐛 Prevent scroll-to-top on restart/fast buttons in termynal.js Jun 5, 2025
@Ashish-Pandey62
Copy link
Contributor Author

@YuriiMotov Just wanted to check if this is ready to be merged?

@YuriiMotov

This comment was marked as resolved.

@github-actions

This comment was marked as outdated.

@YuriiMotov YuriiMotov self-requested a review July 22, 2025 10:51
@Ashish-Pandey62

This comment was marked as outdated.

@YuriiMotov

This comment was marked as resolved.

@Ashish-Pandey62 Ashish-Pandey62 force-pushed the fix-termynal-restart-fast-scroll-behaviour-fix branch from a3b771e to 6ca11e9 Compare July 23, 2025 11:22
@Ashish-Pandey62
Copy link
Contributor Author

@YuriiMotov Thank you for the feedback! I've updated the PR with minimal changes as suggested - now only modifying the href attributes in both functions while keeping all other code intact.

The changes are now focused solely on:

Changing href="#" to href="javascript:void(0)" in generateRestart() and generateFinish()

Maintaining all existing formatting and structure

This should make the diff much cleaner for review while still fully resolving the scrolling issue. Please let me know if there's anything else that needs adjustment!

Copy link
Member

@YuriiMotov YuriiMotov left a comment

Choose a reason for hiding this comment

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

LGTM

To check:

Copy link
Member

@tiangolo tiangolo left a comment

Choose a reason for hiding this comment

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

Nice, thank you! 🚀

And thanks a lot @YuriiMotov for the review, the detailed step by step to confirm the issue and the fix is super useful! 🙌

@tiangolo tiangolo merged commit 1088d2a into fastapi:master Aug 31, 2025
52 checks passed
nilslindemann added a commit to nilslindemann/fastapi that referenced this pull request Sep 1, 2025
commit 176cd8c
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 15:20:12 2025 +0000

    📝 Update release notes

    [skip ci]

commit 1884d76
Author: Sebastián Ramírez <[email protected]>
Date:   Sun Aug 31 17:19:49 2025 +0200

    🔧 Update sponsors: remove Platform.sh (fastapi#14027)

commit 8062aab
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 15:02:29 2025 +0000

    📝 Update release notes

    [skip ci]

commit ee9ccac
Author: Sebastián Ramírez <[email protected]>
Date:   Sun Aug 31 17:02:08 2025 +0200

    🔧 Update sponsors: remove Mobb (fastapi#14026)

commit 5cd4c3b
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:59:17 2025 +0000

    📝 Update release notes

    [skip ci]

commit 4584f70
Author: Jom Karlo Verzosa <[email protected]>
Date:   Sun Aug 31 18:58:56 2025 +0800

    📝 Add deprecation info block about `dict()` in `docs/tutorial/body.md` (fastapi#13906)

    Co-authored-by: Sebastián Ramírez <[email protected]>

commit ba9c8fb
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:50:12 2025 +0000

    📝 Update release notes

    [skip ci]

commit d9249c1
Author: Valentyn <[email protected]>
Date:   Sun Aug 31 06:49:48 2025 -0400

    📝 Fix Twitter to be X (Twitter) everywhere in documentation (fastapi#13809)

    Co-authored-by: Valentyn Druzhynin <[email protected]>
    Co-authored-by: Sebastián Ramírez <[email protected]>

commit a973e78
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:33:32 2025 +0000

    📝 Update release notes

    [skip ci]

commit 1088d2a
Author: Ashish Pandey <[email protected]>
Date:   Sun Aug 31 16:17:57 2025 +0545

    🐛 Prevent scroll-to-top on restart/fast buttons in `termynal.js` (fastapi#13714)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 98ec6a6
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:29:48 2025 +0000

    📝 Update release notes

    [skip ci]

commit 6b4d292
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:29:27 2025 +0000

    📝 Update release notes

    [skip ci]

commit d4ddcc5
Author: z0z0r4 <[email protected]>
Date:   Sun Aug 31 18:29:21 2025 +0800

    📝 Update testing events documentation (fastapi#13259)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Motov Yurii <[email protected]>
    Co-authored-by: Sebastián Ramírez <[email protected]>

commit 0e5832a
Author: Hotah Ma <[email protected]>
Date:   Sun Aug 31 18:29:01 2025 +0800

    📝 Remove obsolete `url` field in error responses in docs (fastapi#13655)

    Co-authored-by: Motov Yurii <[email protected]>

commit ee2acd8
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:03:35 2025 +0000

    📝 Update release notes

    [skip ci]

commit e902ed5
Author: Arnaud Durand <[email protected]>
Date:   Sun Aug 31 12:03:10 2025 +0200

    📝 Bring the `scope` claim in line with the standard in `docs_src/security/tutorial005.py` (fastapi#11189)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Yurii Motov <[email protected]>

commit cef1f16
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:59:28 2025 +0000

    📝 Update release notes

    [skip ci]

commit 8e63f75
Author: Soul Lee <[email protected]>
Date:   Sun Aug 31 18:59:07 2025 +0900

    📝 Update TrustedHostMiddleware Documentation (fastapi#11441)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Alejandra <[email protected]>
    Co-authored-by: Sofie Van Landeghem <[email protected]>
    Co-authored-by: Sebastián Ramírez <[email protected]>
    Co-authored-by: Motov Yurii <[email protected]>

commit e1b9cc0
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:56:48 2025 +0000

    📝 Update release notes

    [skip ci]

commit 408b8a9
Author: Denny Biasiolli <[email protected]>
Date:   Sun Aug 31 11:56:21 2025 +0200

    📝 Remove links to site callbackhell.com that doesn't exist anymore (fastapi#14006)

commit 0817c95
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:16:03 2025 +0000

    📝 Update release notes

    [skip ci]

commit c55f713
Author: Motov Yurii <[email protected]>
Date:   Sun Aug 31 11:15:41 2025 +0200

    📝 Add permalinks to headers in English docs (fastapi#13993)

    Co-authored-by: Sebastián Ramírez <[email protected]>

commit 7653de2
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:11:36 2025 +0000

    📝 Update release notes

    [skip ci]

commit 784f068
Author: Sebastián Ramírez <[email protected]>
Date:   Sun Aug 31 11:11:15 2025 +0200

    🛠️ Update `mkdocs_hooks` to handle headers with permalinks when building docs (fastapi#14025)

    Co-authored-by: Yurii Motov <[email protected]>

commit 6db0577
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon Aug 25 20:03:24 2025 +0000

    📝 Update release notes

    [skip ci]

commit 6be02e3
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 25 22:03:02 2025 +0200

    ⬆ [pre-commit.ci] pre-commit autoupdate (fastapi#14016)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.12.9 → v0.12.10](astral-sh/ruff-pre-commit@v0.12.9...v0.12.10)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 9cf7b70
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Wed Aug 20 09:11:20 2025 +0000

    📝 Update release notes

    [skip ci]

commit f75c153
Author: Motov Yurii <[email protected]>
Date:   Wed Aug 20 11:10:51 2025 +0200

    ⬆ Bump `mkdocs-macros-plugin` from 1.3.7 to 1.3.9 (fastapi#14003)

    Bump mkdocs-macros-plugin from 1.3.7 to 1.3.9

commit 5c3a70d
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon Aug 18 21:07:25 2025 +0000

    📝 Update release notes

    [skip ci]

commit 6a45249
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 18 23:07:04 2025 +0200

    ⬆ [pre-commit.ci] pre-commit autoupdate (fastapi#13999)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.12.8 → v0.12.9](astral-sh/ruff-pre-commit@v0.12.8...v0.12.9)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit c230516
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon Aug 18 06:35:06 2025 +0000

    📝 Update release notes

    [skip ci]

commit df77988
Author: Mika <[email protected]>
Date:   Mon Aug 18 14:34:40 2025 +0800

    📝 Fix code include for Pydantic models example in `docs/zh/docs/python-types.md` (fastapi#13997)

    Updated the Pydantic expiration example in the Chinese documentation
nilslindemann added a commit to nilslindemann/fastapi that referenced this pull request Sep 1, 2025
commit 3e2dbf9
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 19:34:37 2025 +0000

    📝 Update release notes

    [skip ci]

commit f5b77ff
Author: Sebastián Ramírez <[email protected]>
Date:   Sun Aug 31 21:34:08 2025 +0200

    📝 Add documentation for Behind a Proxy - Proxy Forwarded Headers, using `--forwarded-allow-ips="*"` (fastapi#14028)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 176cd8c
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 15:20:12 2025 +0000

    📝 Update release notes

    [skip ci]

commit 1884d76
Author: Sebastián Ramírez <[email protected]>
Date:   Sun Aug 31 17:19:49 2025 +0200

    🔧 Update sponsors: remove Platform.sh (fastapi#14027)

commit 8062aab
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 15:02:29 2025 +0000

    📝 Update release notes

    [skip ci]

commit ee9ccac
Author: Sebastián Ramírez <[email protected]>
Date:   Sun Aug 31 17:02:08 2025 +0200

    🔧 Update sponsors: remove Mobb (fastapi#14026)

commit 5cd4c3b
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:59:17 2025 +0000

    📝 Update release notes

    [skip ci]

commit 4584f70
Author: Jom Karlo Verzosa <[email protected]>
Date:   Sun Aug 31 18:58:56 2025 +0800

    📝 Add deprecation info block about `dict()` in `docs/tutorial/body.md` (fastapi#13906)

    Co-authored-by: Sebastián Ramírez <[email protected]>

commit ba9c8fb
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:50:12 2025 +0000

    📝 Update release notes

    [skip ci]

commit d9249c1
Author: Valentyn <[email protected]>
Date:   Sun Aug 31 06:49:48 2025 -0400

    📝 Fix Twitter to be X (Twitter) everywhere in documentation (fastapi#13809)

    Co-authored-by: Valentyn Druzhynin <[email protected]>
    Co-authored-by: Sebastián Ramírez <[email protected]>

commit a973e78
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:33:32 2025 +0000

    📝 Update release notes

    [skip ci]

commit 1088d2a
Author: Ashish Pandey <[email protected]>
Date:   Sun Aug 31 16:17:57 2025 +0545

    🐛 Prevent scroll-to-top on restart/fast buttons in `termynal.js` (fastapi#13714)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 98ec6a6
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:29:48 2025 +0000

    📝 Update release notes

    [skip ci]

commit 6b4d292
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:29:27 2025 +0000

    📝 Update release notes

    [skip ci]

commit d4ddcc5
Author: z0z0r4 <[email protected]>
Date:   Sun Aug 31 18:29:21 2025 +0800

    📝 Update testing events documentation (fastapi#13259)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Motov Yurii <[email protected]>
    Co-authored-by: Sebastián Ramírez <[email protected]>

commit 0e5832a
Author: Hotah Ma <[email protected]>
Date:   Sun Aug 31 18:29:01 2025 +0800

    📝 Remove obsolete `url` field in error responses in docs (fastapi#13655)

    Co-authored-by: Motov Yurii <[email protected]>

commit ee2acd8
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 10:03:35 2025 +0000

    📝 Update release notes

    [skip ci]

commit e902ed5
Author: Arnaud Durand <[email protected]>
Date:   Sun Aug 31 12:03:10 2025 +0200

    📝 Bring the `scope` claim in line with the standard in `docs_src/security/tutorial005.py` (fastapi#11189)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Yurii Motov <[email protected]>

commit cef1f16
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:59:28 2025 +0000

    📝 Update release notes

    [skip ci]

commit 8e63f75
Author: Soul Lee <[email protected]>
Date:   Sun Aug 31 18:59:07 2025 +0900

    📝 Update TrustedHostMiddleware Documentation (fastapi#11441)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Alejandra <[email protected]>
    Co-authored-by: Sofie Van Landeghem <[email protected]>
    Co-authored-by: Sebastián Ramírez <[email protected]>
    Co-authored-by: Motov Yurii <[email protected]>

commit e1b9cc0
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:56:48 2025 +0000

    📝 Update release notes

    [skip ci]

commit 408b8a9
Author: Denny Biasiolli <[email protected]>
Date:   Sun Aug 31 11:56:21 2025 +0200

    📝 Remove links to site callbackhell.com that doesn't exist anymore (fastapi#14006)

commit 0817c95
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:16:03 2025 +0000

    📝 Update release notes

    [skip ci]

commit c55f713
Author: Motov Yurii <[email protected]>
Date:   Sun Aug 31 11:15:41 2025 +0200

    📝 Add permalinks to headers in English docs (fastapi#13993)

    Co-authored-by: Sebastián Ramírez <[email protected]>

commit 7653de2
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Sun Aug 31 09:11:36 2025 +0000

    📝 Update release notes

    [skip ci]

commit 784f068
Author: Sebastián Ramírez <[email protected]>
Date:   Sun Aug 31 11:11:15 2025 +0200

    🛠️ Update `mkdocs_hooks` to handle headers with permalinks when building docs (fastapi#14025)

    Co-authored-by: Yurii Motov <[email protected]>

commit 6db0577
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon Aug 25 20:03:24 2025 +0000

    📝 Update release notes

    [skip ci]

commit 6be02e3
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 25 22:03:02 2025 +0200

    ⬆ [pre-commit.ci] pre-commit autoupdate (fastapi#14016)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.12.9 → v0.12.10](astral-sh/ruff-pre-commit@v0.12.9...v0.12.10)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 9cf7b70
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Wed Aug 20 09:11:20 2025 +0000

    📝 Update release notes

    [skip ci]

commit f75c153
Author: Motov Yurii <[email protected]>
Date:   Wed Aug 20 11:10:51 2025 +0200

    ⬆ Bump `mkdocs-macros-plugin` from 1.3.7 to 1.3.9 (fastapi#14003)

    Bump mkdocs-macros-plugin from 1.3.7 to 1.3.9

commit 5c3a70d
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon Aug 18 21:07:25 2025 +0000

    📝 Update release notes

    [skip ci]

commit 6a45249
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Mon Aug 18 23:07:04 2025 +0200

    ⬆ [pre-commit.ci] pre-commit autoupdate (fastapi#13999)

    updates:
    - [github.com/astral-sh/ruff-pre-commit: v0.12.8 → v0.12.9](astral-sh/ruff-pre-commit@v0.12.8...v0.12.9)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit c230516
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Mon Aug 18 06:35:06 2025 +0000

    📝 Update release notes

    [skip ci]

commit df77988
Author: Mika <[email protected]>
Date:   Mon Aug 18 14:34:40 2025 +0800

    📝 Fix code include for Pydantic models example in `docs/zh/docs/python-types.md` (fastapi#13997)

    Updated the Pydantic expiration example in the Chinese documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation about how to use FastAPI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants