Skip to content

fix(inbox): left-align search, right-align filters, drop filter banner - #72538

Merged
pauldambra merged 2 commits into
masterfrom
posthog-code/inbox-filter-bar-alignment
Jul 21, 2026
Merged

fix(inbox): left-align search, right-align filters, drop filter banner#72538
pauldambra merged 2 commits into
masterfrom
posthog-code/inbox-filter-bar-alignment

Conversation

@pauldambra

@pauldambra pauldambra commented Jul 21, 2026

Copy link
Copy Markdown
Member

HUMAN

noticed this in a thread

CleanShot 2026-07-21 at 11 50 38@2x
  1. when showing a list of things we put the search on the left and the actions on the right

  2. telling me that filters might filter felt patronising :)


ROBOT

Problem

On the inbox report-list tabs (pull requests / reports / not actionable / archived), the filter bar's search input used flex-1, so it stretched to fill available width and the Sort/Source/Priority filter popovers trailed it instead of sitting right-aligned. A separate banner ("Filters are applied – some reports may be hidden.") showed under the bar whenever any filter was active, restating what users already understand filtering does.

Changes

  • Search/filter alignment (InboxSearchFilterBar.tsx): the search input now anchors left at a natural width (min-w-[220px] max-w-[420px]), and the Sort / Source / Priority popovers plus Refresh are grouped in a right-aligned container (ml-auto). The row still wraps gracefully on narrow widths.
  • Removed the active-filters banner (InboxReportList.tsx): deleted the ActiveFiltersBanner component and the now-unused LemonBanner import. The "Clear" affordance is gone; each filter chip still shows its active value inline and can be toggled off directly.

How did you test this code?

Visual layout change only; no logic, props, or state changed. I could not run pnpm --filter=@posthog/frontend fix or typescript:check in this environment (no node_modules, no flox), so the frontend lint/typecheck gates are unverified locally. The edits are self-contained (no new imports, no signature changes), so there's nothing type-risky. No tests or stories referenced the removed banner, so nothing broke.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Docs update

No docs reference the inbox filter bar layout or the removed banner.

🤖 Agent context

Autonomy: Fully autonomous

  • Work was directed from a screenshot of the inbox list view showing the search and filter controls, with two requests: left-align the search / right-align the filters, and drop the filter-hides-information banner entirely.
  • No skills were invoked; this is a small presentational change to two files under frontend/src/scenes/inbox/.
  • Chose to group the filter popovers + refresh into one right-aligned container rather than giving each its own ml-auto (only the first margin-auto takes effect), so the whole control cluster anchors to the right edge as a unit.
  • Kept the search at a capped max-w-[420px] rather than flex-1 so it doesn't push the filters back toward the middle on wide viewports.

Created with PostHog Code

The inbox report list's filter bar stretched the search input with flex-1,
so the filter popovers trailed it rather than sitting right-aligned. The
search now anchors left at a natural width while the Sort/Source/Priority
controls and refresh anchor right.

Also removes the "Filters are applied - some reports may be hidden." banner.
Users understand filtering; the banner only added noise.

Generated-By: PostHog Code
Task-Id: c4d69aa4-c160-45bc-b996-8442772a71ad
@github-actions

Copy link
Copy Markdown
Contributor

Hey @pauldambra! 👋

It looks like your git author email on this PR isn't your @posthog.com address (paul.dambra@gmail.com). Since you're on the PostHog team, it's worth pointing your local git author email at your @posthog.com address. Why it matters:

  • Consistent work identity in git history — internal tooling that attributes commits to team members keys off your @posthog.com address.
  • Keeps team contributions easy to tell apart from external community ones when scanning history.

You can fix it for this repo with:

git config user.email "you@posthog.com"

Or set it globally with git config --global user.email "you@posthog.com". No need to redo this PR — just a nudge for next time. 🙂

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

🦔 Hogbox preview · ✅ ready

▶ Open the preview

🔑 Login test@posthog.com / 12345678 (demo data)
🧩 Running this PR's backend and frontend, on the PostHog :master base
🔗 Link stable across rebuilds — a re-push swaps the box underneath, the URL stays
🔒 Access tailnet only (PostHog VPN)
🛠️ Admin inspect & debug state in hogland
💤 Idle sleeps after ~30 min idle (snapshot to S3, zero node cost) and wakes on your next visit in ~30s, behind a brief "waking up" screen

commit 0569c1e · box box-81b58e6ed441 · ready in 858s (push → usable) · build log · rebuilds on every push, torn down on close

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested a review from a team July 21, 2026 11:26

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 810e99fb69

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread frontend/src/scenes/inbox/components/shell/InboxSearchFilterBar.tsx Outdated
@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

🤖 CI report

⚠️ Bundle size — 🔺 +1.9 KiB (+0.0%)

Uncompressed size of every built .js bundle, compared against the base branch.

Total: 64.29 MiB · 🔺 +1.9 KiB (+0.0%)

File Size Δ vs base
render-query/src/render-query/render-query.js 21.22 MiB 🔺 +1.9 KiB (+0.0%)

Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report

Eager graph — within budget

How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.

Root Eager (shipped) Δ vs base Budget
entry (logged-out pages, app bootstrap)
src/index.tsx
1.23 MiB · 22 files no change ███░░░░░░░ 28.6% of 4.29 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
8.18 MiB · 2,999 files 🔺 +1.8 KiB (+0.0%) █████████░ 88.5% of 9.25 MiB

🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx

Largest files eagerly shipped from src/index.tsx
Size File
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
24.6 KiB ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js
6.3 KiB ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js
4.5 KiB ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js
3.9 KiB ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js
1.4 KiB ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
1.3 KiB src/RootErrorBoundary.tsx
912 B ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js
789 B src/scenes/ChunkLoadErrorBoundary.tsx
762 B src/index.tsx
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
Size File
281.3 KiB ../node_modules/.pnpm/posthog-js@1.404.1/node_modules/posthog-js/dist/rrweb.js
267.7 KiB ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
235.8 KiB src/taxonomy/core-filter-definitions-by-group.json
223.4 KiB ../node_modules/.pnpm/posthog-js@1.404.1/node_modules/posthog-js/dist/module.js
167.1 KiB src/queries/validators.js
154.3 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
105.9 KiB src/lib/api.ts
93.3 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
93.2 KiB ../packages/quill/packages/quill/dist/index.js

Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479

Dist folder size — 🔺 +44.8 KiB (+0.0%)

Total size of the built frontend/dist folder (all assets), compared against the base branch.

Total: 1352.11 MiB · 🔺 +44.8 KiB (+0.0%)

Playwright — all passed

All tests passed.

View test results →

Wrapping the Sort/Source/Priority/Refresh controls in a right-aligned
div removed the outer row's per-control flex-wrap behavior, so on narrow
viewports (or with long active labels) the group could exceed the
container width and clip. The group now flex-wraps and is capped at
max-w-full, with justify-end keeping it right-aligned.

Generated-By: PostHog Code
Task-Id: c4d69aa4-c160-45bc-b996-8442772a71ad

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Purely presentational change to inbox filter bar layout (CSS alignment) and removal of an informational banner — no logic, data, or API changes. The one Codex P2 comment (controls not wrapping) is already addressed in the diff via the added flex-wrap on the grouped container.

  • 👍 on the PR from hex-security-app[bot].
Gate mechanics and policy version
Gate Result
prerequisites all clear
deny-list no deny categories matched
size 168L, 2F substantive — within ceiling
tier T1-agent / T1c-medium (168L, 2F, single-area, fix)
stamphog 2.0.0b3 .stamphog/policy.yml @ b9db384 · reviewed head 0569c1e

@pauldambra
pauldambra merged commit 80ded83 into master Jul 21, 2026
316 of 318 checks passed
@pauldambra
pauldambra deleted the posthog-code/inbox-filter-bar-alignment branch July 21, 2026 17:04
@deployment-status-posthog

deployment-status-posthog Bot commented Jul 21, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-07-21 17:45 UTC Run
prod-us ✅ Deployed 2026-07-21 18:05 UTC Run
prod-eu ✅ Deployed 2026-07-21 18:09 UTC Run

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

Labels

stamphog Request AI approval (no full review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant