Change:
Explorer focused: ! It's only working for debug: !
It seems to working for me <img width="370" alt="image" src=""Do you have any special theme, or customisations or set up? Probably try trouble shooting?
Also the state can be frozen: ! ! Same thing in dark modern. No errors in console
Here's a repro that seems reliable: the side bar narrow enough to make some of your activity icons get displaced into the ... menu. an option from that menu. Its icon appears and get selected with the underline correct. drag that icon left to position it nearer the start of the set of tabs in order for it not to get displaced onto the ... menu again. It loses its underline and even when you switch to another icon and back to this one it doesn't get underlined.
To reset, move activity bar to side, then back to top again.
Thanks for repro steps
OFF TOPIC. May I ask how to move the activity bar from left to top? Tried searching for settings and Googling, but didn't get any results.
if you're on the Insiders build you can right click the activity bar to change the position
To verify: Move activity bar to top Reduce the width of sidebar so that activity bar actions are exactly fit Switch to Debug view container. All activity bar actions moved to overflow action From overflow action, select explorer Make sure explorer is shown active

Discussion:
} }); compositesToRemove.reverse().forEach(index => { <del> const actionViewItem = compositeSwitcherBar.viewItems[index]; </del> compositeSwitcherBar.pull(index); <del> actionViewItem.dispose(); </del> this.visibleComposites.splice(index, 1); });

const currentIndex = this.visibleComposites.indexOf(compositeId); if (newIndex !== currentIndex) { if (currentIndex !== -1) { <del> const actionViewItem = compositeSwitcherBar.viewItems[currentIndex]; </del> compositeSwitcherBar.pull(currentIndex); <del> actionViewItem.dispose(); </del> this.visibleComposites.splice(currentIndex, 1); }

// Add overflow action as needed if (totalComposites > compositesToShow.length && !this.compositeOverflowAction) { <del> this.compositeOverflowAction = this.instantiationService.createInstance(CompositeOverflowActivityAction, () => { </del> <ins> this.compositeOverflowAction = this._register(this.instantiationService.createInstance(CompositeOverflowActivityAction, () => { </ins> this.compositeOverflowActionViewItem?.showMenu(); <del> }); this.compositeOverflowActionViewItem = this.instantiationService.createInstance( </del> <ins> })); this.compositeOverflowActionViewItem = this._register(this.instantiationService.createInstance( </ins> CompositeOverflowActivityActionViewItem, this.compositeOverflowAction, () => this.getOverflowingComposites(),

this.options.getOnCompositeClickAction, this.options.colors, this.options.activityHoverOptions <del> ); </del> <ins> )); </ins> compositeSwitcherBar.push(this.compositeOverflowAction, { label: false, icon: true }); }

import { Action, IAction, Separator } from 'vs/base/common/actions'; import { $, addDisposableListener, append, clearNode, EventHelper, EventType, getDomNodePagePosition, hide, show } from 'vs/base/browser/dom'; import { ICommandService } from 'vs/platform/commands/common/commands'; <del> import { toDisposable, DisposableStore, disposeIfDisposable, MutableDisposable } from 'vs/base/common/lifecycle'; </del> <ins> import { toDisposable, DisposableStore, MutableDisposable } from 'vs/base/common/lifecycle'; </ins> import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IThemeService, IColorTheme } from 'vs/platform/theme/common/themeService'; import { NumberBadge, IBadge, IActivity, ProgressBadge } from 'vs/workbench/services/activity/common/activity';

export class CompositeOverflowActivityActionViewItem extends CompoisteBarActionViewItem { <del> private actions: IAction[] = []; </del> constructor( action: CompositeBarAction, private getOverflowingComposites: () => { id: string; name?: string }[],

} showMenu(): void { <del> if (this.actions) { disposeIfDisposable(this.actions); } this.actions = this.getActions(); </del> this.contextMenuService.showContextMenu({ getAnchor: () => this.container, <del> getActions: () => this.actions, </del> <ins> getActions: () => this.getActions(), </ins> getCheckedActionsRepresentation: () => 'radio', <del> onHide: () => disposeIfDisposable(this.actions) </del> }); }

return action; }); } <del> override dispose(): void { super.dispose(); if (this.actions) { this.actions = disposeIfDisposable(this.actions); } } </del> } class ManageExtensionAction extends Action {

this._register(this.viewDescriptorService.onDidChangeContainerLocation(({ viewContainer, from, to }) => this.onDidChangeViewContainerLocation(viewContainer, from, to))); // View Container Visibility Changes <del> this.paneCompositePart.onDidPaneCompositeOpen(e => this.onDidChangeViewContainerVisibility(e.getId(), true)); this.paneCompositePart.onDidPaneCompositeClose(e => this.onDidChangeViewContainerVisibility(e.getId(), false)); </del> <ins> this._register(this.paneCompositePart.onDidPaneCompositeOpen(e => this.onDidChangeViewContainerVisibility(e.getId(), true))); this._register(this.paneCompositePart.onDidPaneCompositeClose(e => this.onDidChangeViewContainerVisibility(e.getId(), false))); </ins> // Extension registration const disposables = this._register(new DisposableStore());

if (viewContainer) { const viewContainerModel = this.viewDescriptorService.getViewContainerModel(viewContainer); compositeActions = { <del> activityAction: this.instantiationService.createInstance(ViewContainerActivityAction, this.toCompositeBarActionItemFrom(viewContainerModel), this.part, this.paneCompositePart), pinnedAction: new ToggleCompositePinnedAction(this.toCompositeBarActionItemFrom(viewContainerModel), this.compositeBar), badgeAction: new ToggleCompositeBadgeAction(this.toCompositeBarActionItemFrom(viewContainerModel), this.compositeBar) </del> <ins> activityAction: this._register(this.instantiationService.createInstance(ViewContainerActivityAction, this.toCompositeBarActionItemFrom(viewContainerModel), this.part, this.paneCompositePart)), pinnedAction: this._register(new ToggleCompositePinnedAction(this.toCompositeBarActionItemFrom(viewContainerModel), this.compositeBar)), badgeAction: this._register(new ToggleCompositeBadgeAction(this.toCompositeBarActionItemFrom(viewContainerModel), this.compositeBar)) </ins> }; } else { const cachedComposite = this.cachedViewContainers.filter(c => c.id === compositeId)[0]; compositeActions = { <del> activityAction: this.instantiationService.createInstance(PlaceHolderViewContainerActivityAction, this.toCompositeBarActionItem(compositeId, cachedComposite?.name ?? compositeId, cachedComposite?.icon, undefined), this.part, this.paneCompositePart), pinnedAction: new PlaceHolderToggleCompositePinnedAction(compositeId, this.compositeBar), badgeAction: new PlaceHolderToggleCompositeBadgeAction(compositeId, this.compositeBar) </del> <ins> activityAction: this._register(this.instantiationService.createInstance(PlaceHolderViewContainerActivityAction, this.toCompositeBarActionItem(compositeId, cachedComposite?.name ?? compositeId, cachedComposite?.icon, undefined), this.part, this.paneCompositePart)), pinnedAction: this._register(new PlaceHolderToggleCompositePinnedAction(compositeId, this.compositeBar)), badgeAction: this._register(new PlaceHolderToggleCompositeBadgeAction(compositeId, this.compositeBar)) </ins> }; }