Skip to content

feat: add APPSMITH_HIDE_HELP_BUTTON env var to hide help/support icon#41925

Open
tomjose92 wants to merge 1 commit into
releasefrom
claude/appsmith-hide-help-icon-v34cv3
Open

feat: add APPSMITH_HIDE_HELP_BUTTON env var to hide help/support icon#41925
tomjose92 wants to merge 1 commit into
releasefrom
claude/appsmith-hide-help-icon-v34cv3

Conversation

@tomjose92

@tomjose92 tomjose92 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a runtime configuration flag, APPSMITH_HIDE_HELP_BUTTON, that hides the help/support button — the ? menu containing Documentation, Send support info, Chat with us, and What's new — in both places it appears:

  • The applications home page (/applications) — HomepageHeaderAction.tsx
  • The app editorHelpButton.tsx

It follows the existing APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX pattern, so it is injected at runtime via window.APPSMITH_FEATURE_CONFIGS and requires no client rebuild — operators just set the env var on a self-hosted (Docker/Helm) instance.

Usage

APPSMITH_HIDE_HELP_BUTTON=true

Defaults to false, so existing installs are unaffected.

Changes

  • ce/configs/index.ts, types.ts — thread hideHelpButton through INJECTED_CONFIGS, getConfigsFromEnvVars() and getAppsmithConfigs()
  • public/index.html — inject APPSMITH_HIDE_HELP_BUTTON into window.APPSMITH_FEATURE_CONFIGS
  • HomepageHeaderAction.tsx — gate the help menu with !hideHelpButton
  • HelpButton.tsx — early return null when the flag is set (after all hooks)
  • EnvVariables.java — register the env var so it is recognized/manageable server-side
  • docker.env.sh, helm/values.yaml, helm/README.md, helm snapshot, jest.config.js — defaults set to false

Why it's regression-safe

  • Defaults to false everywhere → behavior is identical for existing installs; the change is purely additive.
  • The help menu is gated, not removed — editor path, signposting, and all menu items remain intact.
  • Preserves the existing airgapped self-hide (!isAirgappedInstance && !hideHelpButton).
  • The only literal constructions of the config types are the two functions updated here, so there is no type breakage elsewhere.

Notes

  • In the editor, the Help button is also the anchor for first-time-user onboarding ("signposting"). Hiding it removes that anchor when the flag is on — expected given the intent.
  • Cypress E2E specs that assume the button is present continue to pass on the default (false).

Testing

  • Set APPSMITH_HIDE_HELP_BUTTON=true → help icon hidden on home page and in editor
  • Unset / false → help icon visible as before

🤖 Generated with Claude Code


Generated by Claude Code

Summary by CodeRabbit

  • New Features

    • Added a new setting to hide the help/support button across the home page and editor.
    • Exposed the setting through deployment defaults and runtime configuration.
  • Bug Fixes

    • Help-related menu items now respect the new visibility setting and stay hidden when enabled.
  • Chores

    • Updated configuration templates and test setup to include the new option.

Introduces a runtime config flag that, when enabled, hides the help/support
button (the "?" menu containing documentation, chat, send-support-info and
what's-new) both on the applications home page and inside the app editor.

- ce/configs: thread `hideHelpButton` through INJECTED_CONFIGS,
  getConfigsFromEnvVars and getAppsmithConfigs (mirrors the existing
  disableIframeWidgetSandbox pattern)
- public/index.html: inject APPSMITH_HIDE_HELP_BUTTON into
  window.APPSMITH_FEATURE_CONFIGS for runtime (no rebuild) configuration
- HomepageHeaderAction / HelpButton: gate render on the flag
- EnvVariables.java: register the env var so it is manageable server-side
- docker.env.sh, helm values/README/snapshot, jest.config: defaults set to
  false so existing installs are unaffected

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E72oeKwZBo84Wemo4TXrd2
@github-actions github-actions Bot added the Enhancement New feature or request label Jun 25, 2026
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8ac1456f-8fae-4759-87fc-dc965a9878cb

📥 Commits

Reviewing files that changed from the base of the PR and between 4a30154 and 0443abb.

⛔ Files ignored due to path filters (1)
  • deploy/helm/tests/__snapshot__/defaults_snapshot_test.yaml.snap is excluded by !**/*.snap
📒 Files selected for processing (10)
  • app/client/jest.config.js
  • app/client/public/index.html
  • app/client/src/ce/configs/index.ts
  • app/client/src/ce/configs/types.ts
  • app/client/src/pages/Editor/HelpButton.tsx
  • app/client/src/pages/common/SearchBar/HomepageHeaderAction.tsx
  • app/server/appsmith-server/src/main/java/com/appsmith/server/constants/EnvVariables.java
  • deploy/docker/fs/opt/appsmith/templates/docker.env.sh
  • deploy/helm/README.md
  • deploy/helm/values.yaml

Walkthrough

Adds APPSMITH_HIDE_HELP_BUTTON through deployment and client config paths, then uses hideHelpButton to suppress help UI rendering in the editor and homepage header when enabled.

Changes

Hide help button wiring

Layer / File(s) Summary
Environment defaults
app/server/appsmith-server/src/main/java/com/appsmith/server/constants/EnvVariables.java, deploy/docker/fs/opt/appsmith/templates/docker.env.sh, deploy/helm/values.yaml, deploy/helm/README.md
Adds APPSMITH_HIDE_HELP_BUTTON to the server enum and deployment defaults, with the Helm values table updated.
Client config shape
app/client/src/ce/configs/types.ts, app/client/src/ce/configs/index.ts
Adds hideHelpButton to the injected UI config shape and reads it from process.env.APPSMITH_HIDE_HELP_BUTTON.
Runtime config exposure
app/client/src/ce/configs/index.ts, app/client/public/index.html, app/client/jest.config.js
Includes hideHelpButton in getAppsmithConfigs() and exposes the same key through browser and Jest feature config globals.
Help UI gating
app/client/src/pages/Editor/HelpButton.tsx, app/client/src/pages/common/SearchBar/HomepageHeaderAction.tsx
Reads hideHelpButton in the editor help button and homepage header action and skips help UI rendering when it is enabled.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

A little flag drifted in from the breeze,
From env to browser with quiet ease.
The help button nodded, then faded from sight,
While configs stayed tidy and tucked in just right. ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly names the new env var and its purpose to hide the help/support icon.
Description check ✅ Passed The description is detailed and mostly covers the change, but it omits the required issue reference and template sections for automation and communication.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/appsmith-hide-help-icon-v34cv3

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants