Skip to content

[BUG] QuickAdd: Run QuickAdd" picker takes ~1 s to open when Iconic is enabled (~8 ms without it) #2251

Description

@jonathan-fang

Describe the bug
Opening the choice picker with the QuickAdd: Run QuickAdd command takes about 1.0–1.2 s every time while the Iconic plugin is enabled. With Iconic disabled, it opens in about 8 ms. Commands bound directly to individual choices (quickadd:choice:) are not affected: macros run in 3–7 ms and prompt-opening choices in 42–108 ms.

A CPU profile of the picker opening shows about 1.06 s of the ~1.17 s inside plugin:iconic, running inside the plugin:quickadd call path. So the slow code may be in Iconic rather than QuickAdd, but only QuickAdd's picker triggers it. I'm filing the bug report here first and will cross-link to Iconic if you think it belongs there.

To Reproduce
Steps to reproduce the behavior in Obsidian:

  1. Enable Iconic (1.1.11) and QuickAdd (2.32.1) in a vault with 27 choices (Template and Macro types, none nested).
  2. Run QuickAdd: Run QuickAdd from the command palette, or via its hotkey.
  3. The picker appears about 1 s later. Run it repeatedly; it stays about 1.0–1.2 s (not a warm-up cost).
  4. Disable Iconic and repeat. The picker now appears in about 8 ms.

Expected behavior
The picker opens near-instantly, as it does with Iconic disabled.

Things I ruled out

  • Vault scanning: during the open, none of vault.getMarkdownFiles, getFiles, getAllLoadedFiles, cachedRead, adapter.read/list/exists or metadataCache.getFileCache were called.
  • searchNestedChoices: on or off makes no difference, and there are no nested choices.
  • Choice icons: clearing the icon field on all 27 choices made no difference (about 1.05 s).
  • Direct commands: these are fast, so only the picker is affected.

Measurements
Time from running the command until a .prompt or .modal-container element appears (5 runs each):

  • Iconic enabled: 1198, 1162, 1190, 1157, 1189 ms
  • Iconic enabled, choice icons cleared: 1082, 1083, 1080, 1044, 1024 ms
  • Iconic disabled: 8, 8, 7, 8 ms

Obsidian Debug Info (required for bug reports)
Please include the full Debug Info from Obsidian to help diagnose your environment:

  • Open the Command Palette (Ctrl/Cmd+P).
  • Run: Show debug info.
  • Click: Copy to clipboard.
  • Paste it below inside the code block.
SYSTEM INFO:
	Obsidian version: 1.14.4
	Installer version: 1.14.4
	Operating system: Windows 11 Pro 10.0.26200
	Login status: logged in
	Language: en
	Catalyst license: none
	Insider build toggle: off
	Live preview: on
	Base theme: dark
	Community theme: Minimal 9.0.2
	Snippets enabled: 0
	Restricted mode: off
	Plugins installed: 22
	Plugins enabled: 18
		1: Folder notes v1.8.26
		2: Lazy Loader v1.0.24
		3: Journal View v1.4.2
		4: Minimal Theme Settings v9.0.0
		5: Day and Night v1.3.2
		6: Iconic v1.1.11
		7: Handwriting v1.4.23
		8: Linter v1.34.2
		9: Notion Bases v1.13.0
		10: Remember cursor position v1.0.16
		11: Seek v1.2.1
		12: Templater v2.26.0
		13: Calendar Bases v0.2.8
		14: Git v2.42.0
		15: Natural Language Dates Redux v0.8.31
		16: Omnisearch v1.31.0
		17: Plugin Update Tracker v1.7.0
		18: QuickAdd v2.32.1

RECOMMENDATIONS:
	Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
	Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Environment (please complete the following information):

  • Obsidian version: 1.14.4 (installer 1.14.4)
  • QuickAdd version: 2.32.1
  • Operating system: Windows 11 Pro 10.0.26200
  • Other plugins enabled: Iconic 1.1.11, Lazy Plugin Loader, Folder notes, Journal view, Minimal Settings, Day & Night. Other plugins are managed by the lazy loader. Core Sync is on.
  • Theme: Minimal

Additional context
Vault has about 37k files (about 28k Markdown). templateFolderPaths is empty. persistInputPromptDrafts is on and onePageInputEnabled is off.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions