Skip to content

fix: always show the Today filter control (remove <5-habits hide) - #336

Merged
thomasluizon merged 1 commit into
mainfrom
fix/always-show-filter
Jun 27, 2026
Merged

fix: always show the Today filter control (remove <5-habits hide)#336
thomasluizon merged 1 commit into
mainfrom
fix/always-show-filter

Conversation

@thomasluizon

Copy link
Copy Markdown
Owner

Always show the Today/Habits filter

Removes the habitCount >= 5 gate that hid the search/filter entry point for users with few habits — the filter is now always visible (per request, this feature is being reverted).

Removed (root-cause, both platforms)

  • Mobile: today-habits-header.tsx showFilters prop + the two gated blocks (icons + tag chips now unconditional); (tabs)/index.tsx the showFilters prop + orphaned useTotalHabitCount plumbing.
  • Web: (app)/page.tsx the totalHabitCount >= 5 && wrapper + orphaned useTotalHabitCount.

The unrelated free-tier upgrade gate (>= 10 habits) is untouched.

Validation

type-check 3/3; lint 0 errors; tests green (web today-page 19/19, mobile today-screen 20/20).

🤖 Generated with Claude Code

Remove the habit-count gate that hid the search/filter/controls entry
point for users with few habits. The filter control now renders
unconditionally on both platforms.

- mobile: drop the showFilters prop and its plumbing in
  today-habits-header (icon row + tag chips render unconditionally) and
  the orphaned useTotalHabitCount call/import/useMemo dep in
  (tabs)/index.
- web: drop the `totalHabitCount >= 5` wrapper around TodayUtilityRow in
  (app)/page and the now-orphaned useTotalHabitCount import/call.
- tests: assert the filter row is always present and drop the dead
  count-mock scaffolding (both platforms).

The unrelated upgrade gate (useTotalHabitCount in layout/_layout) is
untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
orbit-ui-mobile-web Ignored Ignored Jun 27, 2026 9:15pm

Request Review

@claude claude 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.

APPROVE: PR 336 removes the habitCount >= 5 gate that hid the search/filter entry point on both platforms. Clean root-cause deletion of the prop, its callers, and old test scaffolding. No new logic introduced. Zero Critical/High/Medium findings. Parity: PAIRED on both platforms. i18n: IN SYNC. Contract: N/A. Security: N/A. Lint/type-check/tests all pass per PR body. useTotalHabitCount correctly retained in both layouts for the unrelated >=10 free-tier gate. Generated with Claude Code.

@sonarqubecloud

Copy link
Copy Markdown

@thomasluizon
thomasluizon merged commit 478df1a into main Jun 27, 2026
10 checks passed
@thomasluizon
thomasluizon deleted the fix/always-show-filter branch June 27, 2026 21:55
thomasluizon added a commit that referenced this pull request Aug 19, 2026
…he five missing surfaces (#36)

The canvas is the design of record now, and nothing said so where a worker
would read it. /orchestrate reads the ticket, not the project.

Twenty one existing tickets gained a comment naming the document that defines
their surface. Their bodies were already corrected against D69 on 2026-08-16,
so the comment adds the drawing rather than restating the job, and says plainly
that the document is the later artefact where the two differ.

Five surfaces gained a document in this run and had no ticket at all:

  #335  the notification bell and its list          Orbit Avisos
  #336  search results, including which matched     Orbit Busca
  #337  the step up code screen                     Orbit Verificacao
  #338  the error and static surfaces               Orbit Estados
  #339  offline, and the dropped change             Orbit Offline

#335 is ordered behind #334, because rewriting the client while the server
still writes /streak leaves the two disagreeing. #336 needs no API work at all:
the server already returns searchMatches and computeHabitMatchBadges has zero
consumers, so the app has been throwing away a better result than it draws.

D4, the fourth system round, landed five of nine. The canvas read the whole
brief, judged it lacked the headroom to build nine components plus their cards
without leaving the system half edited, and wrote nothing that round rather
than risk it. Sheet's mount contract, CapacityNotice's body, the Skeleton grid
variant, the ListRow read only variant and EventRow are done. DayCell and
MonthGrid, OtpInput, Pager and Columns stay on its todo list.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant