Skip to content

feat(lint): ban native title tooltips and migrate to styled Tooltip - #7209

Merged
juliusmarminge merged 12 commits into
pingdotgg:mainfrom
UtkarshUsername:feat/oxlint-no-native-title-tooltip
Aug 16, 2026
Merged

feat(lint): ban native title tooltips and migrate to styled Tooltip#7209
juliusmarminge merged 12 commits into
pingdotgg:mainfrom
UtkarshUsername:feat/oxlint-no-native-title-tooltip

Conversation

@UtkarshUsername

@UtkarshUsername UtkarshUsername commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Added a lint rule. A new t3code/no-native-title-tooltip oxlint rule bans the native title attribute as a tooltip. It only fires on lowercase intrinsic elements (span, button, p, ...), so it ignores title used for accessibility (iframe, SVG <title>) and title passed as a custom component prop.
  • Migrated the existing tooltips. Every native title tooltip in the web app (33 flagged by the rule, plus a few on pass-through components it can't see) now uses the styled Tooltip / TooltipTrigger / TooltipPopup. Redundant ones (where the visible label already said it) just had the title removed.

Migrated Tooltips:

Sidebar / global chrome

  • Sidebar.tsx - "Discard draft" (X button on draft rows)
  • Sidebar.tsx - "Dismiss Woke notification" (amber pill button)
  • Sidebar.tsx - "Dismiss Woke notification" (top status pill button)
  • ConnectionStatusDot.tsx - connection status text (dot button, tooltip was pre-existing; I only removed the duplicate native title)
  • ChatView.tsx - scroll-to-end button: native title removed (redundant with visible label); no tooltip now

Settings

  • ConnectionsSettings.tsx - pairing-link expiry line (e.g. "Expires in 2h")
  • ConnectionsSettings.tsx - QR pairing URL <code> (truncated, full URL on hover)
  • ConnectionsSettings.tsx - endpoint HTTP base URL <p>
  • ConnectionsSettings.tsx - pending Tailscale MagicDNS endpoint (tooltip only when set)
  • ProjectSettingsPanel.tsx - "Copy path" (copy checkout path button)
  • ThemeColorPicker.tsx - "Choose {label} color" (color swatch)
  • ThemeColorPicker.tsx - "{Show/Hide} where {label} is used" (usage toggle button)

Pull requests

  • PullRequestChecksPopover.tsx - check description (or name) on truncated check name
  • PullRequestSummaryTab.tsx - 2× file-path tooltips (comment.path)
  • pullRequestPresentation.tsx - actor login (avatar + login row)
  • PullRequestCodeTab.tsx - commit message headline; orphan-file path
  • PullRequestDetailPanel.tsx - repo name; open-PR-number button (2 variants: expanded/condensed); PR title; branch range "base ← head"; base branch <code>; "Copy pull request branch" / "Copied" (copy-branch button)
  • PullRequestDetailPanel.tsx auto-merge Badge: "The host will merge this on its own once its requirements are met"
  • PullRequestListFilters.tsx host disabled reason + project disabled reason tooltips

Chat / composer

  • DraftHeroHeadline.tsx - active project name (the dotted heading; tooltip only when a project is resolved)
  • DraftHeroHeadline.tsx - group display name in project picker menu items
  • ChangedFilesTree.tsx - file path on preview-file button
  • ComposerPreviewAnnotationCards.tsx - "1 region / N regions", "1 style change / N style changes" counters

Preview / files

  • ThreadPreviewMiniPlayer.tsx - "Open in right panel"
  • ThreadPreviewMiniPlayer.tsx - "Pop into separate window" / "Close separate window"
  • ThreadPreviewMiniPlayer.tsx - "Close floating preview"
  • FilePreviewPanel.tsx - breadcrumb crumb full path

Diff

  • DiffPanel.tsx - branch comparison "head → base" on the compare row
  • DiffPanel.tsx - "Remote only" (remote-branch checkmark)
    Host picker / search
  • _chat.pull-requests.tsx - host disabled reason (e.g. why a host is unavailable) on menu items
  • ProjectContentSearchDialog.tsx - {label} on search option toggle buttons
    Browser device toolbar
  • BrowserDeviceToolbar.tsx - "Lock aspect ratio" / "Unlock aspect ratio"

Why

AI models keep using the native tooltip instead of the app's styled tooltip component. This has regressed a few times. Native title tooltips don't match the app's look and can't be styled. The rule is scope-tight so it catches real native tooltips without false-positiving on accessibility uses or component props, and it's wired in as an error so future regressions fail CI.

UI Changes

image image image image image image image image image image image image

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Low Risk
Broad but mechanical UI-only changes with no auth, data, or API behavior; main risk is minor tooltip/hover regressions on disabled controls or truncated text.

Overview
Adds t3code/no-native-title-tooltip as an oxlint error so intrinsic JSX elements cannot use title for hover hints (with carve-outs for accessibility names like iframe and for custom components). Existing web UI title tooltips are replaced with Tooltip / TooltipTrigger / TooltipPopup across sidebar, chat, diff, PR views, settings, search, file preview, and browser toolbar.

Disabled menu items that used title for “unavailable” reasons now wrap the item in a tooltip and use data-disabled:pointer-events-auto so hover still works. PullRequestActorLabel gains an optional tooltip={false} to avoid double tooltips where callers wrap avatars themselves. A few redundant native titles are dropped (e.g. scroll-to-end label); the mini-player resize handle keeps aria-label only.

Reviewed by Cursor Bugbot for commit 774d434. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Ban native title tooltips across the web app and migrate to styled Tooltip components

  • Adds a new t3code/no-native-title-tooltip oxlint rule (no-native-title-tooltip.ts) that errors on title attributes used as tooltips on intrinsic JSX elements, registered in vite.config.ts.
  • Migrates all existing native title tooltip usages across pull request, chat, sidebar, settings, search, file preview, and browser toolbar components to use Tooltip + TooltipTrigger + TooltipPopup.
  • Disabled menu items that previously used title to show unavailability reasons now apply data-disabled:pointer-events-auto so custom tooltips can still trigger.
  • Behavioral Change: Browser-native title tooltips are replaced with styled popups app-wide; tooltip timing, appearance, and positioning will now follow the app's Tooltip component behavior rather than the browser's native behavior.

Macroscope summarized 774d434.

Add t3code/no-native-title-tooltip, an oxlint rule that reports title attributes on intrinsic HTML elements and directs authors to the styled Tooltip component. The pin button regression in pingdotgg#6371 happened partly because nothing enforced the preference, so warn now and flip to error once existing usages are migrated.
@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 851d22f8-7814-4843-8442-16520b3b6ec3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Aug 16, 2026
Comment thread apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the titleTooltip migration for consistency with the shared tooltip primitive. Most conversions match the existing Tooltip / TooltipTrigger render={…} / TooltipPopup idiom and preserve aria-labels and layout (the Tooltip root emits no DOM, so flex parents are unaffected).

Four call sites changed interaction ownership rather than just the tooltip mechanism: three now put the trigger around an interactive child that owns its own hover surface (tooltip positioner is z-[140], popover/combobox popups are z-[130]), and one attaches the trigger to an element the design system explicitly makes non-hoverable.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx Outdated
Comment thread apps/web/src/components/DiffPanel.tsx Outdated
Comment thread apps/web/src/routes/_chat.pull-requests.tsx Outdated
Comment thread apps/web/src/components/settings/ConnectionsSettings.tsx Outdated

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the titleTooltip migration for consistency with the shared tooltip primitive. Most conversions match the existing Tooltip / TooltipTrigger render={…} / TooltipPopup idiom and preserve aria-labels and layout (the Tooltip root emits no DOM, so flex parents are unaffected).

Four call sites changed interaction ownership rather than just the tooltip mechanism: three now put the trigger around an interactive child that owns its own hover surface (tooltip positioner is z-[140], popover/combobox popups are z-[130]), and one attaches the trigger to an element the design system explicitly makes non-hoverable.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/routes/_chat.pull-requests.tsx Outdated
Comment thread apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx Outdated
Comment thread apps/web/src/components/settings/ConnectionsSettings.tsx Outdated
Comment thread apps/web/src/components/DiffPanel.tsx Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 9c2f68d. Configure here.

Comment thread apps/web/src/routes/_chat.pull-requests.tsx Outdated
@macroscopeapp

macroscopeapp Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved 774d434

Mechanical migration replacing native title attributes with an existing styled Tooltip component across UI files, plus a new lint rule to enforce the pattern. No behavior changes beyond tooltip styling consistency.

You can customize Macroscope's approvability policy. Learn more.

Comment thread apps/web/src/components/settings/ConnectionsSettings.tsx Outdated

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

UI Consistency

The four issues flagged on the previous head are addressed (DiffPanel trigger now scopes to the head-ref text, the PR header tooltip no longer swallows PullRequestBaseFreshnessWarning, the pairing-expiry trigger no longer wraps AccessScopeSummary, and the compact filter menu anchors on a hoverable wrapper instead of the disabled MenuRadioItem).

One new finding, inline: the "Remote only" indicator in DiffPanel.tsx loses its accessible name in the migration (the title was the only text, and the icon is aria-hidden).

Also worth noting (no inline comment possible — the lines are outside the diff): the new t3code/no-native-title-tooltip rule only matches lowercase intrinsic elements, so title props that shared primitives forward straight to the DOM still render native tooltips. Two remain next to the surfaces this PR migrated: PullRequestDetailPanel.tsx:1414 (<Badge title="The host will merge this on its own…">, which useRender spreads onto a span, in the same header row that was converted) and PullRequestListFilters.tsx:166,383 (<MenuRadioItem title={option.unavailable}> — the twin of the CompactFilterMenu case converted in _chat.pull-requests.tsx). Converting those keeps hover behavior uniform; otherwise the rule silently leaves the pattern it was added to eliminate.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/DiffPanel.tsx Outdated

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

One consistency finding on the disabled-menu-item tooltip in _chat.pull-requests.tsx. The rest of the migration matches the existing tooltip contract (Tooltip > TooltipTrigger render={...} > TooltipPopup), keeps aria-labels, and the earlier hover-surface overlaps (DiffPanel combobox, PullRequestBaseFreshnessWarning, AccessScopeSummary) are resolved.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/routes/_chat.pull-requests.tsx Outdated
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 16, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 16, 2026 15:44

Dismissing prior approval to re-evaluate 620d91d

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 16, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 16, 2026 16:03

Dismissing prior approval to re-evaluate 2805cc9

@github-actions github-actions Bot added size:XL 500-999 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels Aug 16, 2026

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

One finding: the base-freshness warning changed position in the PR detail toolbar as a side effect of the tooltip migration. Everything else in this pass looks consistent with the existing tooltip contracts (disabled menu items now use the data-disabled:pointer-events-auto pattern from RightPanelTabs, icon-only triggers keep an accessible name, and hover popovers are no longer nested inside tooltip triggers).

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 16, 2026

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

One finding: PullRequestActorLabel now owns a tooltip, which stacks a second popup on the reviewer avatar stack that already wraps it in its own tooltip trigger. Everything else in this migration (disabled menu items re-enabling pointer events per the RightPanelTabs contract, render={<Button/>}/render={<PopoverTrigger/>} composition, preserved aria-labels, scoped triggers next to the freshness popover and the base-ref combobox) matches existing conventions, and no wrapped control sits under a [data-slot="button"]/[data-slot="toggle"] themed container or a Group, so the trigger's data-slot takeover has no styling fallout here.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/pullRequest/pullRequestPresentation.tsx

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

One finding: PullRequestActorLabel now owns a tooltip, which stacks a second popup on the reviewer avatar stack that already wraps it in its own tooltip trigger. Everything else in this migration (disabled menu items re-enabling pointer events per the RightPanelTabs contract, render={<Button/>}/render={<PopoverTrigger/>} composition, preserved aria-labels, scoped triggers next to the freshness popover and the base-ref combobox) matches existing conventions, and no wrapped control sits under a [data-slot="button"]/[data-slot="toggle"] themed container or a Group, so the trigger's data-slot takeover has no styling fallout here.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/pullRequest/pullRequestPresentation.tsx
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 16, 2026 17:03

Dismissing prior approval to re-evaluate 4b89f77

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the tooltip migration against the shared Tooltip contract and the affected call sites. The earlier findings (double trigger on the reviewer avatars, the reordered base-freshness warning, the combobox/popover hover collisions, the unreachable disabled-menu-item reasons, and the unlabeled remote-only icon) are all addressed in this revision, and the disabled-item pattern now matches the RightPanelTabs precedent (data-disabled:pointer-events-auto + trigger rendered onto the item).

One remaining item: the mini-player resize handle now carries hover chrome.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/preview/ThreadPreviewMiniPlayer.tsx Outdated
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 16, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 16, 2026 17:21

Dismissing prior approval to re-evaluate 774d434

@juliusmarminge
juliusmarminge merged commit fee10de into pingdotgg:main Aug 16, 2026
18 of 19 checks passed
@UtkarshUsername
UtkarshUsername deleted the feat/oxlint-no-native-title-tooltip branch August 16, 2026 19:44
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 16, 2026
juliusmarminge added a commit that referenced this pull request Aug 17, 2026
Re-applies the deltas that mid-stack blob reverts discarded, and merges
main's round-9 work into the v2-owned surfaces:

- settings: main's Integrations page (#7082) coexists with the branch's
  Scheduled Tasks page in the path union, section labels, icons, and
  search catalog
- contracts: main's preview appearance/zoom/viewport settings imports
  restored beside the branch's modelSelection home for ModelSelection
- mobile: main's built-in themes (#6619) re-applied to the v2 thread
  screens and work log (useThemeColor over hand-rolled color-scheme
  ternaries)
- MessagesTimeline: main's #7157 cleanup adopted (toolCallExpandedBody
  class name unexported, implementation-detail test dropped)
- ChangedFilesTree: main's styled tooltip (#7209) carrying the v2 runId
- pullRequestDetail tests: branch's row-action coverage renamed onto
  main's buildAddSelectionToAgentHandoff (#6597)
- lint: migrated the six branch-owned native title tooltips that main's
  new no-native-title-tooltip rule (#7209) flags to styled Tooltips
  (GitActionsControl, QueuedRunsControl, TimelineSystemDivider,
  MessagesTimeline intent badge and MCP tool logo)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
sandscooling pushed a commit to sandscooling/t3code that referenced this pull request Aug 17, 2026
Upstream pingdotgg#7209 added t3code(no-native-title-tooltip), which is an error-level
rule banning the native title attribute on intrinsic elements. The composer
activity row was the only carried change still using one.

The row keeps its hover hint, now as a Tooltip popup, and gains an aria-label
that the native attribute was previously supplying.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
radroid added a commit to radroid/t3code that referenced this pull request Aug 17, 2026
Upstream added the `no-native-title-tooltip` oxlint rule in fee10de (pingdotgg#7209) and
migrated its own call sites in the same commit. The fork's UpdateToast.tsx was not
in that sweep -- it is fork-owned -- so the new rule turned the fork's lint red on
a file upstream has never seen.

Migrated to the same Tooltip/TooltipTrigger/TooltipPopup idiom upstream used, so
the build-provenance affordance keeps its explanation and lint goes green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0x00-sys added a commit to 0x00-sys/t3code that referenced this pull request Aug 17, 2026
Upstream pingdotgg#7209 banned native `title` tooltips and migrated call sites to the
styled Tooltip, which collided with this branch's consistency pass on nine
files. Each conflict is resolved by taking upstream's Tooltip structure and
re-applying the consistency fix that had been on the replaced element:

- Sidebar, ChangedFilesTree, DraftHeroHeadline, PullRequestDetailPanel,
  ProjectSettingsPanel, ThemeColorPicker: keep upstream's Tooltip wrapper,
  restore `cursor-pointer` / `transition-colors` / focus ring-offset.
- ThreadPreviewMiniPlayer: upstream dropped the redundant `title`; the
  focus-visible ring this branch added is kept.
- GitActionsControl: take upstream's `min-w-0` (replaces `truncate` so
  StartTruncatedPath can truncate itself) plus this branch's `cursor-pointer`.
- scroll-area: keep the shared SCROLL_FADE_SIZE_CLASS constant and fold in
  upstream's new `scroll-p-[var(--fade-size)]`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
radroid added a commit to radroid/t3code that referenced this pull request Aug 18, 2026
Upstream added the `no-native-title-tooltip` oxlint rule in fee10de (pingdotgg#7209) and
migrated its own call sites in the same commit. The fork's UpdateToast.tsx was not
in that sweep -- it is fork-owned -- so the new rule turned the fork's lint red on
a file upstream has never seen.

Migrated to the same Tooltip/TooltipTrigger/TooltipPopup idiom upstream used, so
the build-provenance affordance keeps its explanation and lint goes green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
bcotrim pushed a commit to bcotrim/mognet that referenced this pull request Aug 20, 2026
sandscooling pushed a commit to sandscooling/t3code that referenced this pull request Aug 20, 2026
Upstream pingdotgg#7209 added t3code(no-native-title-tooltip), which is an error-level
rule banning the native title attribute on intrinsic elements. The composer
activity row was the only carried change still using one.

The row keeps its hover hint, now as a Tooltip popup, and gains an aria-label
that the native attribute was previously supplying.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 979f378)
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 26, 2026
## What's Changed
* feat: multi-provider pull requests page with in-app reviews by @Bil0000 in https://github.com/pingdotgg/t3code/pull/4849
* perf(desktop): probe the Windows shell environment concurrently by @tsouth89 in https://github.com/pingdotgg/t3code/pull/5878
* feat(web): add duplicate action to the T3 Code default theme by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/6013
* fix(web): improve built-in theme contrast by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/6000
* fix(ci): extend release publish timeout by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6034
* Allow Android tablets to rotate by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/5613
* fix(web): account for Windows window controls in PR page header by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/6049
* feat: add three-hour snooze option by @Noojuno in https://github.com/pingdotgg/t3code/pull/5914
* fix(mobile): keep chat composer above the Android gesture bar by @PollyGlot in https://github.com/pingdotgg/t3code/pull/5988
* fix(server): OpenCode model parsing drops models with a slash in the JSON body by @arhxam in https://github.com/pingdotgg/t3code/pull/5072
* fix(web): persist sidebar shelf collapse state by @PixPMusic in https://github.com/pingdotgg/t3code/pull/5136
* perf(web): skip base64 for oversized image candidates by @tarik02 in https://github.com/pingdotgg/t3code/pull/5220
* fix(server): skip Linux libc detection on Windows/macOS by @bkntr in https://github.com/pingdotgg/t3code/pull/5354
* fix(server): advertise 256-color TERM on Windows terminals by @yassiEmp in https://github.com/pingdotgg/t3code/pull/5693
* fix(server): handle unborn HEAD in VCS status by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/5944
* fix(pull-requests): route self-hosted GitLab remotes by @GuilhermeVieiraDev in https://github.com/pingdotgg/t3code/pull/6061
* feat: add ability to create a new thread in the current project with shift+click and show shortcut in tooltip by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/5994
* feat(web): add Copy Thread ID to the sidebar and chat header thread context menu by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/5574
* fix(mobile): stabilize thread composer and interactions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/5986
* Add hourly past-24-hour usage view by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6170
* fix(mobile): guard App Store release versions by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6177
* fix(web): restore typography font sizes to defaults by @StiensWout in https://github.com/pingdotgg/t3code/pull/6172
* feat(web): make environment artwork theme aware by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6183
* fix(shared): normalize a bare Windows drive root the same as C:\ / C:/ by @arhxam in https://github.com/pingdotgg/t3code/pull/6189
* fix(shared): detect Azure DevOps SSH remotes (ssh.dev.azure.com) by @arhxam in https://github.com/pingdotgg/t3code/pull/6187
* feat(web): add back buttons for the pull requests and usage pages in the sidebar footer by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/6031
* fix(web): render dropdowns above toasts by @Brechard in https://github.com/pingdotgg/t3code/pull/6165
* fix(web): thread error banner dismiss survives reconnect and rerenders by @myacoub91 in https://github.com/pingdotgg/t3code/pull/6123
* fix(web): use a clearer pull action icon by @extoci in https://github.com/pingdotgg/t3code/pull/6194
* feat(web): use OKLCH for theme palettes by @StiensWout in https://github.com/pingdotgg/t3code/pull/6036
* fix(web): use upload icon for disabled push action by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6207
* feat(web): add Open VSX theme search by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/5654
* fix(web): clean up composer resize animation by @extoci in https://github.com/pingdotgg/t3code/pull/6209
* feat(web): compact sidebar footer actions by @maria-rcks in https://github.com/pingdotgg/t3code/pull/6210
* fix(web): keep sidebar wordmark visible at minimum width by @extoci in https://github.com/pingdotgg/t3code/pull/6246
* feat(mobile): add thread title regeneration by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/6253
* chore: add dara to vouched by @maria-rcks in https://github.com/pingdotgg/t3code/pull/6259
* fix(web): align the composer model picker by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6252
* fix(mobile): keep ordered lists inside user bubbles by @none23 in https://github.com/pingdotgg/t3code/pull/6154
* feat(web): a better right panel empty state by @StiensWout in https://github.com/pingdotgg/t3code/pull/6258
* fix(web): align mobile onboarding header by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6293
* fix(connect): preserve CLI OAuth parameters through browser sign-in by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6285
* fix(web): prevent changed files header overlap by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6314
* fix(web): theme Clerk surfaces by @StiensWout in https://github.com/pingdotgg/t3code/pull/6300
* feat(web): reset sidebar width on double click by @extoci in https://github.com/pingdotgg/t3code/pull/6320
* fix(web): align update toast release notes link by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6322
* fix(web): render tooltips above dropdowns by @extoci in https://github.com/pingdotgg/t3code/pull/6241
* fix(web): open modified PR clicks in browser by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6278
* Fix mobile command popover glass rendering by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6370
* test(mobile): seed snoozed showcase threads by @PixPMusic in https://github.com/pingdotgg/t3code/pull/5155
* fix(web): preserve appearance mode when changing themes by @extoci in https://github.com/pingdotgg/t3code/pull/6343
* feat(connect): deregister account environments from any client by @StiensWout in https://github.com/pingdotgg/t3code/pull/4844
* feat(web): pull request surfaces — filters & qualifiers, all-server listing, update branch, reactions, in-place editing, smarter diffs by @Bil0000 in https://github.com/pingdotgg/t3code/pull/6039
* fix(web): cmd+click sidebar PR numbers open in the browser by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6378
* feat(web): project favicon and workspace icons in command subtitles by @gsimone in https://github.com/pingdotgg/t3code/pull/6330
* web/settings: fix source control scan on relay environments by @dominic-r in https://github.com/pingdotgg/t3code/pull/6230
* fix(web): make reset zoom hover visible by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6385
* fix(web): keep the typed prompt when a draft changes repo by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6393
* fix(web): keep diff file lists scrollable past expanded files by @dominic-r in https://github.com/pingdotgg/t3code/pull/6423
* fix(server): align Codex collaboration prompts by @none23 in https://github.com/pingdotgg/t3code/pull/6432
* fix(web): keep turn minimap stable as composer grows by @extoci in https://github.com/pingdotgg/t3code/pull/6414
* fix(web): keep pull request panel within viewport by @Bil0000 in https://github.com/pingdotgg/t3code/pull/6451
* Add bil0000 to VOUCHED contributors list by @maria-rcks in https://github.com/pingdotgg/t3code/pull/6462
* fix: ignore pull request actions in latency tracker by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6476
* Remove rebase requirement before opening PR by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6479
* fix(mobile): extend blockquotes across wrapped lines by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/6482
* fix(mobile): prevent invalid HTML entities from crashing markdown by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/6495
* fix(web): avoid Clerk close button overlap by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6442
* fix(web): show unlinked icon when viewport aspect ratio is unlocked by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/6509
* fix(web): scope pull request errors to their environment by @Adamulek123 in https://github.com/pingdotgg/t3code/pull/6490
* fix(mobile): show a real settings cog in the Android sidebar header by @paul-vd in https://github.com/pingdotgg/t3code/pull/6520
* fix(web): restore default stage artwork colors by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6535
* fix(web): align sidebar wordmark label by @WarheadTaylor in https://github.com/pingdotgg/t3code/pull/6086
* fix(web): align the snoozed thread wake icon by @RakshithBhat03 in https://github.com/pingdotgg/t3code/pull/6215
* feat: allow disabling auto-settle on merge by @t3dotgg in https://github.com/pingdotgg/t3code/pull/5880
* Nest mobile task settings in bottom sheets by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6224
* fix(web): simplify the desktop-managed server update banner copy by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6549
* fix(web): show background policy tooltips sooner by @davidhu2000 in https://github.com/pingdotgg/t3code/pull/6506
* feat(desktop): add favicons to the Browser panel by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/5644
* fix(preview): only show browser-ready local servers by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/6021
* perf(build): stop unpacking node_modules wholesale from the Windows asar by @tsouth89 in https://github.com/pingdotgg/t3code/pull/5877
* fix: avoid stale Live Activities when publishing is disabled by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6325
* fix(mobile): add breathing room between the git progress overlay and the app bar by @PollyGlot in https://github.com/pingdotgg/t3code/pull/6587
* fix(web): keep thread rename open during IME composition by @MichaelCharles in https://github.com/pingdotgg/t3code/pull/6281
* refactor(mobile): name the iOS nav bar height fallback by @PollyGlot in https://github.com/pingdotgg/t3code/pull/6589
* fix(mobile): preserve keyboard suggestions while typing by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6323
* fix(mobile): prevent OTA update restart crashes by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6324
* fix(web): align every titlebar control cluster on one shared inset by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6592
* fix(mobile): steer active turns by default by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/6543
* fix(web): clarify desktop update status by @StiensWout in https://github.com/pingdotgg/t3code/pull/6504
* fix(server): terminal subprocess polling no longer floods the PID space by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/6377
* fix(web): add copying terminal selection with ctrl+c in the web app by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/5638
* perf(desktop): speed up Windows update installation by @StiensWout in https://github.com/pingdotgg/t3code/pull/6169
* fix(web): style sidebar action tooltips by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6371
* refactor(web): simplify global styling by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6381
* fix(server): handle files named HEAD in git status by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/6397
* feat(packaging): maintain AUR packages in-repo by @maria-rcks in https://github.com/pingdotgg/t3code/pull/4128
* fix(web): bound OKLCH gamut mapping by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/6485
* feat(web): open remote environments in your local editor over SSH by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6572
* feat(web): refresh workspace layouts and tool activity by @maria-rcks in https://github.com/pingdotgg/t3code/pull/6275
* revert: refresh workspace layouts and tool activity by @maria-rcks in https://github.com/pingdotgg/t3code/pull/6657
* feat(web): older chat timestamps show the date, not just the time by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6654
* fix(web): align pull request action menu rows by @Bil0000 in https://github.com/pingdotgg/t3code/pull/6534
* fix(web): restore selected themes in dark mode by @StiensWout in https://github.com/pingdotgg/t3code/pull/6665
* fix(web): improve Codex usage graph contrast by @StiensWout in https://github.com/pingdotgg/t3code/pull/6669
* fix(desktop): app zoom no longer zooms the preview browser by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/6649
* fix(server): keep provider notification consumers alive past startSession by @tsouth89 in https://github.com/pingdotgg/t3code/pull/6538
* fix(server): treat removed Bitbucket permissions endpoint as unknown, not blocking by @lnieuwenhuis in https://github.com/pingdotgg/t3code/pull/6525
* fix(ssh): let cold remote servers finish starting by @gbarros-dev in https://github.com/pingdotgg/t3code/pull/6168
* fix(web): preserve Claude insight line breaks by @nateEc in https://github.com/pingdotgg/t3code/pull/4344
* feat(web): accept file drops across the chat workspace by @dbalders in https://github.com/pingdotgg/t3code/pull/6636
* fix(web): widen ordered-list marker gutter for 3+ digit item numbers by @lnieuwenhuis in https://github.com/pingdotgg/t3code/pull/6527
* fix(server): bound thread activity hydration by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6153
* fix(web): restore the Archive action in the default sidebar thread menu by @lnieuwenhuis in https://github.com/pingdotgg/t3code/pull/6526
* fix(web): open diff files from nested projects by @gbarros-dev in https://github.com/pingdotgg/t3code/pull/6174
* fix(mobile): use tryOpenExternalUrl for markdown links in ThreadFeed by @mohamedmastouri-hue in https://github.com/pingdotgg/t3code/pull/5872
* fix(web): open the file a bare filename reference names by @Brechard in https://github.com/pingdotgg/t3code/pull/6297
* fix(server): stop the provider title mirror from overwriting real thread titles by @repparw in https://github.com/pingdotgg/t3code/pull/5941
* fix(shared): match source-control providers by DNS label by @gbarros-dev in https://github.com/pingdotgg/t3code/pull/6175
* feat(desktop): Chrome-style hold-to-quit by @Bil0000 in https://github.com/pingdotgg/t3code/pull/5508
* fix(gitlab): submit review comments on context lines by @tarik02 in https://github.com/pingdotgg/t3code/pull/6348
* fix(marketing): keep Grok mark clear of mobile hero copy by @NicL9923 in https://github.com/pingdotgg/t3code/pull/4542
* fix(mobile): recover the QR pairing scanner when camera access is denied by @hey-jj in https://github.com/pingdotgg/t3code/pull/6487
* fix(web): keep a long path from running under the folder picker button by @Sy-D in https://github.com/pingdotgg/t3code/pull/4823
* fix(terminal): right-click paste works in the terminal by @StiensWout in https://github.com/pingdotgg/t3code/pull/5240
* fix(mobile): explain iOS-only settings on Android by @danvernon in https://github.com/pingdotgg/t3code/pull/4981
* fix(web): stop counting a workflow coordinator as a working agent by @Rishet11 in https://github.com/pingdotgg/t3code/pull/6672
* fix(web): keep floating preview anchored after panel closes by @AksharP5 in https://github.com/pingdotgg/t3code/pull/6547
* fix(web): unstick /connect after in-modal sign-in by redirecting to the authorize endpoint by @TorbenWetter in https://github.com/pingdotgg/t3code/pull/5133
* fix(web): keep send reachable while a turn is running on mobile by @AMohamedAakhil in https://github.com/pingdotgg/t3code/pull/4781
* fix(web): reject unsupported composer image types at attach time by @mdshzb04 in https://github.com/pingdotgg/t3code/pull/6574
* Make ClaudeTextGeneration tests hermetic on Windows by @mihneaptu in https://github.com/pingdotgg/t3code/pull/4508
* fix(web): show command output in work log by @LikoKiko in https://github.com/pingdotgg/t3code/pull/4083
* fix(web): reserve sibling column width when resizing the right panel by @Lasdw6 in https://github.com/pingdotgg/t3code/pull/6279
* fix(web): replace whitespace in new ref names with dashes by @jorj-pineda in https://github.com/pingdotgg/t3code/pull/6270
* fix(client-runtime): branch list no longer resets while paging through refs by @a20hek in https://github.com/pingdotgg/t3code/pull/5858
* fix(web): support Shift+Insert terminal paste by @aoright in https://github.com/pingdotgg/t3code/pull/5982
* fix(web): keep the composer glass aligned with the context strip at any interface font size by @Williawar in https://github.com/pingdotgg/t3code/pull/5703
* fix(codex): keep background memory out of chats by @AksharP5 in https://github.com/pingdotgg/t3code/pull/5468
* fix(server): treat a missing Codex rollout as a recoverable resume error by @Rishet11 in https://github.com/pingdotgg/t3code/pull/6671
* fix(web): hide provider Update toast action while an update is running by @mrmg in https://github.com/pingdotgg/t3code/pull/6544
* fix(desktop): agent shells inherit a UTF-8 locale on macOS by @Linus-Boehm in https://github.com/pingdotgg/t3code/pull/6236
* fix(server): ignore Claude command lifecycle messages by @naveed949 in https://github.com/pingdotgg/t3code/pull/6606
* docs: mention Bitbucket user read scope needed by auth probe by @thamrx in https://github.com/pingdotgg/t3code/pull/6291
* fix(server): return valid preview action results by @duncan-vc in https://github.com/pingdotgg/t3code/pull/5966
* fix(claude): make "Always allow for session" stick, and only for the session by @kakismash in https://github.com/pingdotgg/t3code/pull/5041
* fix(ssh): surface a failed remote t3 install instead of a silent 0-byte server.log by @TorbenWetter in https://github.com/pingdotgg/t3code/pull/5132
* perf(server): persist the wire projection for streaming tool.updated data by @mInrOz in https://github.com/pingdotgg/t3code/pull/6675
* fix(web): stop wrapping partial code block selections in markdown fences by @JoeJoeflyn in https://github.com/pingdotgg/t3code/pull/5069
* fix(web): hide T3 Connect toggle in web app settings by @JoeJoeflyn in https://github.com/pingdotgg/t3code/pull/5068
* fix(web): show provider account accent badge in sidebar rows and hover card by @vitalyiegorov in https://github.com/pingdotgg/t3code/pull/5980
* fix(server): wait for concurrent SQLite writers instead of failing with SQLITE_BUSY by @ostapondo in https://github.com/pingdotgg/t3code/pull/5134
* fix(web): reject oversized prompts before provider turn start by @naveed949 in https://github.com/pingdotgg/t3code/pull/6602
* feat(web): collapse the question prompt from its header by @Jardo-51 in https://github.com/pingdotgg/t3code/pull/6773
* fix(shared): degrade an unknown system time zone to UTC in usage windows by @Rishet11 in https://github.com/pingdotgg/t3code/pull/6670
* fix(claude): discover repo-local .agents/skills in skill discovery by @RoshanMhatre in https://github.com/pingdotgg/t3code/pull/5488
* fix(server): let slow provider CLIs raise their discovery probe budget by @CDVolvik in https://github.com/pingdotgg/t3code/pull/6223
* fix(web): retain terminal PR badges after checkout switch by @sebbonit in https://github.com/pingdotgg/t3code/pull/4755
* fix(web): show selected model in context window tooltip by @nqrwhal in https://github.com/pingdotgg/t3code/pull/4772
* fix(web): scale command details with code font by @Serendeep in https://github.com/pingdotgg/t3code/pull/6510
* fix(web): preserve XML-like tags in user messages by @0utsights in https://github.com/pingdotgg/t3code/pull/4133
* fix(desktop): route mouse thumb buttons to the in-app browser by @akosbalogh in https://github.com/pingdotgg/t3code/pull/4459
* fix(web): keep the final segment of directory paths with a trailing separator by @jorvarea in https://github.com/pingdotgg/t3code/pull/5460
* Keep block code plain when copying from rendered markdown by @yashranaway in https://github.com/pingdotgg/t3code/pull/4468
* fix(web): add web app manifest so installed app keeps its scope by @Albro3459 in https://github.com/pingdotgg/t3code/pull/4306
* Skip user hooks during Claude capability probes by @yashranaway in https://github.com/pingdotgg/t3code/pull/4466
* fix(mobile): use Android monospace font family by @tastelessjolt in https://github.com/pingdotgg/t3code/pull/4609
* fix(desktop): timestamps follow the OS locale instead of en-US by @brzzdev in https://github.com/pingdotgg/t3code/pull/6190
* fix(web): keep multi-select questions open after the first click by @RaitP1 in https://github.com/pingdotgg/t3code/pull/6646
* fix(web): stop clipping the changed-files expand hover on Windows by @mrmg in https://github.com/pingdotgg/t3code/pull/6545
* fix(server): allow long-running git pushes by @devchaudhary24k in https://github.com/pingdotgg/t3code/pull/6499
* fix(desktop): keep probing backend readiness while the process is alive by @lgwacker in https://github.com/pingdotgg/t3code/pull/5526
* fix(server): allow install scripts in npm-global provider updates by @hey-jj in https://github.com/pingdotgg/t3code/pull/5646
* fix: detect SSH remotes with non-git user prefixes (e.g. gitlab@) by @JackatDJL in https://github.com/pingdotgg/t3code/pull/3649
* fix(web): describe what Ultracode does in the Reasoning picker by @delltrak in https://github.com/pingdotgg/t3code/pull/6092
* fix(server): settle pending user-input requests when a Claude session stops by @AaronAbuUsama in https://github.com/pingdotgg/t3code/pull/5127
* fix(server): stop replaying a command receipt for a different aggregate by @ostapondo in https://github.com/pingdotgg/t3code/pull/5246
* fix(server): settle snoozed threads immediately by @0bkevin in https://github.com/pingdotgg/t3code/pull/5379
* fix(mobile): prevent crash on sign out in settings by @shubhu121 in https://github.com/pingdotgg/t3code/pull/4899
* fix(mobile): local-checkout threads record their branch so PR badges show by @Zeus-Deus in https://github.com/pingdotgg/t3code/pull/4986
* fix(web): contain long approval commands by @Serendeep in https://github.com/pingdotgg/t3code/pull/6503
* feat(web): make right panel maximize bindable by @husseinraoouf in https://github.com/pingdotgg/t3code/pull/5091
* fix(server): respect inherited OPENCODE_CONFIG_CONTENT by @jonocodes in https://github.com/pingdotgg/t3code/pull/4242
* fix(marketing): detect Mac chip on homepage download button by @mahdibm-dev in https://github.com/pingdotgg/t3code/pull/4197
* Keep the server alive when a response write hits a dead socket by @yashranaway in https://github.com/pingdotgg/t3code/pull/4470
* Limit physical key fallback to non-Latin layout output by @yashranaway in https://github.com/pingdotgg/t3code/pull/4469
* fix: restore CLAUDE.md symlink target by @NgoQuocViet2001 in https://github.com/pingdotgg/t3code/pull/3929
* fix(clients): default clone destination to folder plus repo name by @inayayousfi in https://github.com/pingdotgg/t3code/pull/5989
* fix(web): keep timestamp date and time in the same locale by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/7081
* feat(desktop): add signal macOS DMG installer background by @Brechard in https://github.com/pingdotgg/t3code/pull/6201
* feat(web): send PR line requests to agent by @Bil0000 in https://github.com/pingdotgg/t3code/pull/6597
* fix(web): restore dark theme palette by @eddy-naboulet in https://github.com/pingdotgg/t3code/pull/6663
* refactor(web): simplify advanced theme controls by @StiensWout in https://github.com/pingdotgg/t3code/pull/7107
* fix(web): keep highlighted command menu items clear of the scroll fade by @PollyGlot in https://github.com/pingdotgg/t3code/pull/7132
* test: remove redundant and stale tests by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/6267
* test: favor behavior over implementation details by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7157
* feat(mobile): add built-in themes by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/6619
* docs: point CLAUDE.md at AGENTS.md with an @import instead of a symlink by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/7171
* fix(web): show filenames when commit dialog paths overflow by @frarredondo in https://github.com/pingdotgg/t3code/pull/6392
* fix(mobile): keep sheet actions below status bar by @NitayRabi in https://github.com/pingdotgg/t3code/pull/6635
* fix(web): align Windows update confirmation copy by @StiensWout in https://github.com/pingdotgg/t3code/pull/7208
* feat(lint): ban native title tooltips and migrate to styled Tooltip by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/7209
* fix(pull-requests): protect provider API budgets by @Bil0000 in https://github.com/pingdotgg/t3code/pull/6466
* feat(web): configurable browser defaults in Settings → Integrations by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/7082
* fix(web): center the context usage meter by @StiensWout in https://github.com/pingdotgg/t3code/pull/7296
* feat(server): let users withhold browser access from agents by @juliusmarminge in https://github.com/pingdotgg/t3code/pull/7083
* feat(web): make review verdicts legible in the pull request detail by @Bil0000 in https://github.com/pingdotgg/t3code/pull/7077
* fix(mobile): rotate snoozed and settled shelf chevrons by @lnieuwenhuis in https://github.com/pingdotgg/t3code/pull/7276
* fix(web): show all usage breakdown periods by @tris203 in https://github.com/pingdotgg/t3code/pull/7219
* test(web): remove duplicate lookup assertion by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7364
* fix(mobile): show structured input option descriptions by @none23 in https://github.com/pingdotgg/t3code/pull/7321
* fix(orchestration): do not revive idle tasks from status-free progress by @maslinedwin in https://github.com/pingdotgg/t3code/pull/7172
* refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli by @aoright in https://github.com/pingdotgg/t3code/pull/7385
* fix(preview): open local environment ports on localhost by @gbarros-dev in https://github.com/pingdotgg/t3code/pull/7300
* fix(desktop): prevent quit shortcut spillover by @Bil0000 in https://github.com/pingdotgg/t3code/pull/7397
* fix(desktop): stop overwriting a custom dock icon on launch by @Rishet11 in https://github.com/pingdotgg/t3code/pull/7125
* feat(web): show project location in new thread picker by @StiensWout in https://github.com/pingdotgg/t3code/pull/7392
* fix(packaging): install AUR launcher icons where icon themes look by @AugusDogus in https://github.com/pingdotgg/t3code/pull/7421
* fix(web): label pull request merge actions by @tarik02 in https://github.com/pingdotgg/t3code/pull/7381
* fix(server): avoid PRs inherited from default upstreams by @gsimone in https://github.com/pingdotgg/t3code/pull/7317
* fix(desktop): stop the passkey dialog from popping as soon as sign-in opens by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7437
* feat(desktop): mute a browser tab by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/7252
* fix(web): improve disconnected composer placeholder by @inayayousfi in https://github.com/pingdotgg/t3code/pull/7122
* fix(desktop): throttle hidden preview rendering by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7445
* fix(server): stop probing Grok, Cursor, and OpenCode unless turned on by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7459
* fix(desktop): boot the main window unthrottled so cold start paints at full speed by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7460
* fix(threads): a merged PR settles its thread only once by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7454
* feat(cli): npx t3 triage hands broken installs to your own coding agent by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6563
* fix(marketing): Safari gets the arm64 Mac download by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7473
* feat(web): add shortcuts to the surface dropdown by @gsimone in https://github.com/pingdotgg/t3code/pull/7318
* fix(marketing): never serve the Intel build to Apple Silicon Macs by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7477
* fix(web): animate command palette when closing by @tarik02 in https://github.com/pingdotgg/t3code/pull/5169
* fix(desktop): upgrade Clerk OAuth transport by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7479
* feat(server): run the background service on macOS via launchd by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6286
* fix(web): align sidebar statuses with project names by @RakshithBhat03 in https://github.com/pingdotgg/t3code/pull/7491
* fix(desktop): close the window before quit cleanup by @t3dotgg in https://github.com/pingdotgg/t3code/pull/6562
* fix(desktop): stop automatic passkey prompts by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7522
* fix(web): align version text with its label by @RakshithBhat03 in https://github.com/pingdotgg/t3code/pull/7521
* fix(web): refresh open file with the file tree by @StiensWout in https://github.com/pingdotgg/t3code/pull/7490
* Add OpenCode skill discovery by @dbalders in https://github.com/pingdotgg/t3code/pull/3154
* feat(web): unify workspace navigation by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7153
* fix(web): hide opencode's plan agent when legacy plan mode is off by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/6420
* feat: refine thread action menus by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7476
* feat(web): redesign usage insights by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7147
* fix(server): outdated gh no longer reads as "not authenticated" by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7588
* fix(desktop): refresh queued updates before install by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/6269
* feat(web): confirm before closing a terminal by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7592
* feat(web): refresh pull request details by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7148
* fix(web): usage hourly breakdown lists every hour chronologically by @lgwacker in https://github.com/pingdotgg/t3code/pull/7595
* fix(web): remove the terminal pane's app-canvas gutter by @jakeleventhal in https://github.com/pingdotgg/t3code/pull/6222
* feat(web): attach composer state drawers by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7150
* fix(server): preserve tool lifecycle identity by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7151
* chore(desktop): use stable Clerk Electron release by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7602
* feat(web): collapse tool activity into one line by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7152
* test(web): remove redundant timestamp assertions by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7633
* fix(web): import dependency-heavy Open VSX themes by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7642
* fix(web): retry failed thread bootstraps with a fresh id by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/7664
* fix(web): copy terminal selection instead of a blank clipboard by @sethwebster in https://github.com/pingdotgg/t3code/pull/7678
* revert(web): restore sparse hourly usage breakdown by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7718
* fix(server): reconcile orphaned provider sessions by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7719
* fix(web): fix subagent row left border being cut off by @sameerr03 in https://github.com/pingdotgg/t3code/pull/7207
* fix(web): unify composer control rounding by @kototok903 in https://github.com/pingdotgg/t3code/pull/5957
* fix(web): show pointer on add project button by @incognitojam in https://github.com/pingdotgg/t3code/pull/5545
* fix(server): enable the Cursor provider by default like every other provider by @Rishet11 in https://github.com/pingdotgg/t3code/pull/7089
* fix(web): fix thread jumping after reorder by @ipanasenko in https://github.com/pingdotgg/t3code/pull/7103
* fix(server): keep Daybreak models out of legacy models by @cn0ss in https://github.com/pingdotgg/t3code/pull/7659
* fix(contracts): reconcile provider default tests by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7725
* fix(web): polish theme library buttons, search, and import dialog by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/7580
* chore: vouch Seth Webster and pcstyle by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7728
* fix(web): add space above composer task tabs by @Bil0000 in https://github.com/pingdotgg/t3code/pull/7740
* feat(composer): list skills with slash commands by @maria-rcks in https://github.com/pingdotgg/t3code/pull/7737
* fix(web): show the full path in file link tooltips by @s243a in https://github.com/pingdotgg/t3code/pull/7741
* fix(server): serve html assets with utf-8 charset by @talkingdonkeyz in https://github.com/pingdotgg/t3code/pull/6409
* fix(vcs): give `git worktree add` a longer timeout on large repos by @ChamaruAmasara in https://github.com/pingdotgg/t3code/pull/6326
* chore: move implementation plans out of repository by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7665
* Update user count in AGENTS.md by @saphid in https://github.com/pingdotgg/t3code/pull/7658
* fix(desktop): restrict editor deep links by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/7697
* fix(web): prevent pinned threads reshuffling after drop by @tarik02 in https://github.com/pingdotgg/t3code/pull/7676
* fix(web): encode shifted characters correctly in the terminal by @chrisdeeming in https://github.com/pingdotgg/t3code/pull/7485
* fix(web): resolve sidebar provider icons from the thread's own environment by @vitalyiegorov in https://github.com/pingdotgg/t3code/pull/7292
* fix(web): hide thread jump hints while the terminal is focused by @lnieuwenhuis in https://github.com/pingdotgg/t3code/pull/7277
* fix(web): keep following the stream after scrolling back to the live edge by @lnieuwenhuis in https://github.com/pingdotgg/t3code/pull/6519
* perf(ci): parallelize the test suite and split out Rust checks by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7286
* ci: only boot the macOS native lint runner when native sources change by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7283
* chore: stop committing pull request assets by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7762
* fix(clients): default GitHub clones to HTTPS by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7760
* perf(web): stop preview loading rerenders by @Bil0000 in https://github.com/pingdotgg/t3code/pull/7561
* fix(web): keep messages clear of composer banners by @Bil0000 in https://github.com/pingdotgg/t3code/pull/7792
* feat(web): double-click chat header title to rename thread by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/7817
* fix(web): model picker no longer shows a double border by @RakshithBhat03 in https://github.com/pingdotgg/t3code/pull/7772
* fix(web): give sidebar un-settle button a tooltip by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/7796
* fix(web): render oversized terminal graphemes without crashing by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/7809
* feat(web): cmd+enter to create thread in background by @extoci in https://github.com/pingdotgg/t3code/pull/7821
* fix(web): launcher shortcuts no longer hijack the empty composer by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/7794
* feat(desktop): choose external project icons by @Bil0000 in https://github.com/pingdotgg/t3code/pull/7823
* perf(web): dedupe terminal mouse motion reports by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7845
* fix(search): oversized thread queries no longer crash clients by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/6633
* fix(mobile): stop a directly-saved backend from hiding its T3 Connect environment by @Rishet11 in https://github.com/pingdotgg/t3code/pull/7086
* feat(analytics): threads and turns now know which client started them by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7774
* fix(web): stop marking mixed tool runs as failed by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7893
* fix(web): command-click spaced folder links by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/6439
* fix(chat): stop pushing follow-up messages to the top by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7897
* test(desktop): remove redundant release note assertion by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7873
* fix(web): handle wide ordered-list marker edge cases by @abcdmku in https://github.com/pingdotgg/t3code/pull/7856
* fix(ssh): restore user PATH for remote servers by @gbarros-dev in https://github.com/pingdotgg/t3code/pull/7213
* fix(desktop): keep tailscale spawn defects from breaking advertised endpoints by @Rishet11 in https://github.com/pingdotgg/t3code/pull/7116
* fix(web): keep Codex service tier labels readable by @PixPMusic in https://github.com/pingdotgg/t3code/pull/4503
* fix: render workspace images in chat markdown by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/6433
* fix(clients): keep opening responses visible after turns settle by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7723
* feat(web): add appearance contrast control by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/7906
* fix(server): stop completed Codex threads from staying stuck on working by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7937
* fix(mobile): preserve markdown image dimensions by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/7940
* fix(web): remove duplicate provider update progress by @naveed949 in https://github.com/pingdotgg/t3code/pull/7761
* fix(server): fall back to the remote default branch instead of assuming main by @Rishet11 in https://github.com/pingdotgg/t3code/pull/7078
* fix(web): give sidebar project menu rows the same side padding as other menus by @ishaanko in https://github.com/pingdotgg/t3code/pull/7913
* fix(clients): reconnect after credentials fail during remote server updates by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7953
* feat(codex): submit thread feedback to OpenAI by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7949
* fix(server): stop kills lingering Claude work by @t3dotgg in https://github.com/pingdotgg/t3code/pull/5891
* fix(ci): let Macroscope approve pull requests again by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7970
* fix(clients): move settled pinned threads into the settled section by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7969
* perf(ci): speed up release builds and Windows packaging by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7975
* fix(web): stop tool calls from leaving a blank page in threads by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7971
* fix(web): stop recovered tool failures from marking work logs red by @t3dotgg in https://github.com/pingdotgg/t3code/pull/7999
* fix(mobile): isolate markdown image requests by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/7942
* feat(web): redesign skills in `$` menu and in `/` menu by @extoci in https://github.com/pingdotgg/t3code/pull/8009
* fix(web): restore right panel toggle clicks after closing on desktop by @UtkarshUsername in https://github.com/pingdotgg/t3code/pull/8016
* fix(web): keep server update banners flush with the composer by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8000
* perf(web): reuse work log rows during streaming by @Bil0000 in https://github.com/pingdotgg/t3code/pull/8006
* fix(web): keep provider badge legible in dark themes by @RakshithBhat03 in https://github.com/pingdotgg/t3code/pull/7968
* fix(web): treat configured urls with uppercase schemes as secure by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/8005
* fix(desktop): keep release notes visible while downloading by @extoci in https://github.com/pingdotgg/t3code/pull/6412
* fix(web): show only providers with usage in usage views by @tris203 in https://github.com/pingdotgg/t3code/pull/7563
* fix(web): prevent expanded tool calls from hiding thread content by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8052
* test(server): remove no-op live activity tests by @t3-code[bot] in https://github.com/pingdotgg/t3code/pull/8056
* fix(web): clarify terminal sidebar grouping by @StiensWout in https://github.com/pingdotgg/t3code/pull/7967
* fix(codex): show app access approval prompts by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8058
* feat(web): upload image attachments before sending by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8048
* fix(server): bound OpenCode skill discovery output by @Lucenx9 in https://github.com/pingdotgg/t3code/pull/7675
* fix(mobile): persist thread shelf collapse state by @PixPMusic in https://github.com/pingdotgg/t3code/pull/5152
* fix(mobile): restore Android tablet thread controls, clean up header by @PixPMusic in https://github.com/pingdotgg/t3code/pull/5385
* fix(mobile): land the first thread open above the composer on Android by @PollyGlot in https://github.com/pingdotgg/t3code/pull/5585
* fix(server): check out submodules in a new worktree by @Brechard in https://github.com/pingdotgg/t3code/pull/7674
* fix(server): preserve merged PR badges after branch deletion by @tris203 in https://github.com/pingdotgg/t3code/pull/6216
* fix(server): return fresh live pull request reads by @Adamulek123 in https://github.com/pingdotgg/t3code/pull/6472
* fix(web): compare client and server versions as semver, not strings by @spiky02plateau in https://github.com/pingdotgg/t3code/pull/7579
* fix(web): stop follow-ups from leaving giant blank space by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8068
* fix(marketing): stop automatic Vercel deployments on pull requests by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8070
* chore: vouch repeat contributors by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8071
* fix(server): keep the authoritative subagent model when snapshots race task_started by @spiky02plateau in https://github.com/pingdotgg/t3code/pull/7583
* fix(server): honor auto-accept edits for the OpenCode provider by @Rishet11 in https://github.com/pingdotgg/t3code/pull/7100
* fix(server): run the CLI on Node versions without import.meta.main by @CDVolvik in https://github.com/pingdotgg/t3code/pull/7141
* fix(server): recover from provider interrupt failures by @mrmg in https://github.com/pingdotgg/t3code/pull/7412
* fix(server): recreate a thread's worktree before starting a turn by @mackinleysmith in https://github.com/pingdotgg/t3code/pull/7839
* fix(server): thread delete no longer fails on already-removed worktrees by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8076
* fix(web): stop update notices showing through the composer by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8083
* fix(web): detect outdated nightly servers by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8124
* fix(web): align usage page skeleton layout by @tris203 in https://github.com/pingdotgg/t3code/pull/8111
* fix(web): make terminal links appear clickable only when clickable by @flamboh in https://github.com/pingdotgg/t3code/pull/7488
* fix(web): make Windows file links clickable in chat by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8081
* fix(web): sort usage models by token count by @RakshithBhat03 in https://github.com/pingdotgg/t3code/pull/8108
* fix: open agent file links in the file viewer by @StiensWout in https://github.com/pingdotgg/t3code/pull/8098
* fix(server): stop routine events from rescanning thread history by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8150
* fix(deps): stop pnpm installs from changing the lockfile by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8163
* feat(web): settle and restore threads with a keyboard shortcut by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8089
* perf(desktop): cut macOS signing calls by 81% by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8093
* feat: link pull requests to threads by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8160
* feat(web): safely attach HEIC photos as JPEG images by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8161
* feat(mobile): track device models and OS versions by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8169
* fix(grok): bound cumulative tool output updates by @lnieuwenhuis in https://github.com/pingdotgg/t3code/pull/7279
* fix(web): delay thread shortcut hints by 200 ms by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8172
* fix(server): stop probing Cursor until enabled by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8175
* docs(release): verify remote updates with database migrations by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8177
* fix(server): keep provider CLIs available in the macOS service by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8173
* feat(claude): compact old threads before they burn through usage by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8144
* fix(client-runtime): retry queries after connection interruption by @tris203 in https://github.com/pingdotgg/t3code/pull/8117
* fix(server): keep previously used providers working after upgrades by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8176
* feat(desktop): build macOS previews from a PR label by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8182
* fix(web): thread jump hints no longer stick after a dictation paste by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8189
* fix(web): keep grouped project renames by @MohtashamMurshid in https://github.com/pingdotgg/t3code/pull/7831
* feat(web): reveal chat file chips in the system file manager by @SunkenInTime in https://github.com/pingdotgg/t3code/pull/7140
* fix(server): push no longer writes a feature branch's commits to its base branch by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8228
* chore(deps): bump @clerk/electron to 0.0.37 by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8240
* feat(server): fetch legacy model classification from a hosted manifest by @t3dotgg in https://github.com/pingdotgg/t3code/pull/8227

## New Contributors
* @bkntr made their first contribution in https://github.com/pingdotgg/t3code/pull/5354
* @yassiEmp made their first contribution in https://github.com/pingdotgg/t3code/pull/5693
* @extoci made their first contribution in https://github.com/pingdotgg/t3code/pull/6194
* @none23 made their first contribution in https://github.com/pingdotgg/t3code/pull/6154
* @gsimone made their first contribution in https://github.com/pingdotgg/t3code/pull/6330
* @dominic-r made their first contribution in https://github.com/pingdotgg/t3code/pull/6230
* @Adamulek123 made their first contribution in https://github.com/pingdotgg/t3code/pull/6490
* @paul-vd made their first contribution in https://github.com/pingdotgg/t3code/pull/6520
* @WarheadTaylor made their first contribution in https://github.com/pingdotgg/t3code/pull/6086
* @RakshithBhat03 made their first contribution in https://github.com/pingdotgg/t3code/pull/6215
* @davidhu2000 made their first contribution in https://github.com/pingdotgg/t3code/pull/6506
* @MichaelCharles made their first contribution in https://github.com/pingdotgg/t3code/pull/6281
* @SunkenInTime made their first contribution in https://github.com/pingdotgg/t3code/pull/6377
* @mohamedmastouri-hue made their first contribution in https://github.com/pingdotgg/t3code/pull/5872
* @NicL9923 made their first contribution in https://github.com/pingdotgg/t3code/pull/4542
* @hey-jj made their first contribution in https://github.com/pingdotgg/t3code/pull/6487
* @danvernon made their first contribution in https://github.com/pingdotgg/t3code/pull/4981
* @Rishet11 made their first contribution in https://github.com/pingdotgg/t3code/pull/6672
* @AksharP5 made their first contribution in https://github.com/pingdotgg/t3code/pull/6547
* @TorbenWetter made their first contribution in https://github.com/pingdotgg/t3code/pull/5133
* @AMohamedAakhil made their first contribution in https://github.com/pingdotgg/t3code/pull/4781
* @mdshzb04 made their first contribution in https://github.com/pingdotgg/t3code/pull/6574
* @mihneaptu made their first contribution in https://github.com/pingdotgg/t3code/pull/4508
* @LikoKiko made their first contribution in https://github.com/pingdotgg/t3code/pull/4083
* @Lasdw6 made their first contribution in https://github.com/pingdotgg/t3code/pull/6279
* @jorj-pineda made their first contribution in https://github.com/pingdotgg/t3code/pull/6270
* @a20hek made their first contribution in https://github.com/pingdotgg/t3code/pull/5858
* @aoright made their first contribution in https://github.com/pingdotgg/t3code/pull/5982
* @Williawar made their first contribution in https://github.com/pingdotgg/t3code/pull/5703
* @mrmg made their first contribution in https://github.com/pingdotgg/t3code/pull/6544
* @Linus-Boehm made their first contribution in https://github.com/pingdotgg/t3code/pull/6236
* @naveed949 made their first contribution in https://github.com/pingdotgg/t3code/pull/6606
* @thamrx made their first contribution in https://github.com/pingdotgg/t3code/pull/6291
* @duncan-vc made their first contribution in https://github.com/pingdotgg/t3code/pull/5966
* @kakismash made their first contribution in https://github.com/pingdotgg/t3code/pull/5041
* @mInrOz made their first contribution in https://github.com/pingdotgg/t3code/pull/6675
* @JoeJoeflyn made their first contribution in https://github.com/pingdotgg/t3code/pull/5069
* @vitalyiegorov made their first contribution in https://github.com/pingdotgg/t3code/pull/5980
* @ostapondo made their first contribution in https://github.com/pingdotgg/t3code/pull/5134
* @Jardo-51 made their first contribution in https://github.com/pingdotgg/t3code/pull/6773
* @RoshanMhatre made their first contribution in https://github.com/pingdotgg/t3code/pull/5488
* @CDVolvik made their first contribution in https://github.com/pingdotgg/t3code/pull/6223
* @sebbonit made their first contribution in https://github.com/pingdotgg/t3code/pull/4755
* @nqrwhal made their first contribution in https://github.com/pingdotgg/t3code/pull/4772
* @Serendeep made their first contribution in https://github.com/pingdotgg/t3code/pull/6510
* @0utsights made their first contribution in https://github.com/pingdotgg/t3code/pull/4133
* @akosbalogh made their first contribution in https://github.com/pingdotgg/t3code/pull/4459
* @jorvarea made their first contribution in https://github.com/pingdotgg/t3code/pull/5460
* @yashranaway made their first contribution in https://github.com/pingdotgg/t3code/pull/4468
* @Albro3459 made their first contribution in https://github.com/pingdotgg/t3code/pull/4306
* @tastelessjolt made their first contribution in https://github.com/pingdotgg/t3code/pull/4609
* @brzzdev made their first contribution in https://github.com/pingdotgg/t3code/pull/6190
* @RaitP1 made their first contribution in https://github.com/pingdotgg/t3code/pull/6646
* @devchaudhary24k made their first contribution in https://github.com/pingdotgg/t3code/pull/6499
* @lgwacker made their first contribution in https://github.com/pingdotgg/t3code/pull/5526
* @JackatDJL made their first contribution in https://github.com/pingdotgg/t3code/pull/3649
* @delltrak made their first contribution in https://github.com/pingdotgg/t3code/pull/6092
* @AaronAbuUsama made their first contribution in https://github.com/pingdotgg/t3code/pull/5127
* @0bkevin made their first contribution in https://github.com/pingdotgg/t3code/pull/5379
* @shubhu121 made their first contribution in https://github.com/pingdotgg/t3code/pull/4899
* @Zeus-Deus made their first contribution in https://github.com/pingdotgg/t3code/pull/4986
* @husseinraoouf made their first contribution in https://github.com/pingdotgg/t3code/pull/5091
* @jonocodes made their first contribution in https://github.com/pingdotgg/t3code/pull/4242
* @mahdibm-dev made their first contribution in https://github.com/pingdotgg/t3code/pull/4197
* @NgoQuocViet2001 made their first contribution in https://github.com/pingdotgg/t3code/pull/3929
* @inayayousfi made their first contribution in https://github.com/pingdotgg/t3code/pull/5989
* @eddy-naboulet made their first contribution in https://github.com/pingdotgg/t3code/pull/6663
* @frarredondo made their first contribution in https://github.com/pingdotgg/t3code/pull/6392
* @NitayRabi made their first contribution in https://github.com/pingdotgg/t3code/pull/6635
* @maslinedwin made their first contribution in https://github.com/pingdotgg/t3code/pull/7172
* @AugusDogus made their first contribution in https://github.com/pingdotgg/t3code/pull/7421
* @sethwebster made their first contribution in https://github.com/pingdotgg/t3code/pull/7678
* @sameerr03 made their first contribution in https://github.com/pingdotgg/t3code/pull/7207
* @kototok903 made their first contribution in https://github.com/pingdotgg/t3code/pull/5957
* @incognitojam made their first contribution in https://github.com/pingdotgg/t3code/pull/5545
* @cn0ss made their first contribution in https://github.com/pingdotgg/t3code/pull/7659
* @s243a made their first contribution in https://github.com/pingdotgg/t3code/pull/7741
* @talkingdonkeyz made their first contribution in https://github.com/pingdotgg/t3code/pull/6409
* @ChamaruAmasara made their first contribution in https://github.com/pingdotgg/t3code/pull/6326
* @abcdmku made their first contribution in https://github.com/pingdotgg/t3code/pull/7856
* @ishaanko made their first contribution in https://github.com/pingdotgg/t3code/pull/7913
* @spiky02plateau made their first contribution in https://github.com/pingdotgg/t3code/pull/7579
* @flamboh made their first contribution in https://github.com/pingdotgg/t3code/pull/7488
* @MohtashamMurshid made their first contribution in https://github.com/pingdotgg/t3code/pull/7831

**Full Changelog**: https://github.com/pingdotgg/t3code/compare/v0.0.33...v0.0.34

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants