Hi! Heads up about a bug in Longform that a number of community plugins share.
What happens
Obsidian 1.13 added Settings → Interface → Open settings in new window, and it is now on by default. With that enabled, the suggestion dropdowns in the Longform settings do not appear at all. Typing still works and pressing Enter still accepts a value, but there are no visible suggestions.
In the Longform settings that affects New scene template, User script step folder — and any other field using the same suggester.
Reported on the forum here: https://forum.obsidian.md/t/the-path-suggestion-dropdown-is-hidden-in-the-setting-of-some-plugins/117184
Why
Longform uses the TextInputSuggest class that has been copied between plugins for years (originally from obsidian-periodic-notes). It appends the dropdown to the main window's container:
this.open((<any>this.app).dom.appContainerEl, this.inputEl);
The dropdown is then appended straight to that container, without checking which document the input actually belongs to. When the settings tab renders in a separate window, the dropdown lands in the main window's DOM — invisible where the user is typing. This is not specific to your plugin; a number of community plugins inherited the same code.
Background on the underlying window-context rules: https://docs.obsidian.md/plugins/guides/pop-out-windows
Fixing it
Preferred — migrate to declarative settings (https://docs.obsidian.md/plugins/guides/migrate-declarative-settings)
PluginSettingTab.getSettingDefinitions() describes settings as data rather than DOM, and it includes built-in file and folder suggesters — which is what the hand-rolled class is doing here. Obsidian renders them, so window context stops being your problem entirely.
This requires Obsidian 1.13.0. The guide covers two paths: bump minAppVersion to 1.13.0 and replace display() outright, or keep display() alongside getSettingDefinitions() if you want to keep supporting older versions.
Secondary — swap in AbstractInputSuggest (https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
If you would rather not migrate yet, or you are doing a dual-support migration, replace the copied TextInputSuggest with the built-in AbstractInputSuggest, which handles window context correctly. It has been available since 1.4.10, so it most likely needs no minAppVersion change. The declarative settings guide also points to it for custom suggesters beyond the built-in file and folder ones.
There is an official lint rule for exactly this: obsidianmd/prefer-abstract-input-suggest.
Workaround for users in the meantime
Disable Settings → Interface → Open settings in new window.
I found this with an automated scan across the community plugin directory and reviewed the results before filing. No rush on this — feel free to close if it is not something you want to take on.
Hi! Heads up about a bug in Longform that a number of community plugins share.
What happens
Obsidian 1.13 added Settings → Interface → Open settings in new window, and it is now on by default. With that enabled, the suggestion dropdowns in the Longform settings do not appear at all. Typing still works and pressing Enter still accepts a value, but there are no visible suggestions.
In the Longform settings that affects New scene template, User script step folder — and any other field using the same suggester.
Reported on the forum here: https://forum.obsidian.md/t/the-path-suggestion-dropdown-is-hidden-in-the-setting-of-some-plugins/117184
Why
Longform uses the
TextInputSuggestclass that has been copied between plugins for years (originally fromobsidian-periodic-notes). It appends the dropdown to the main window's container:The dropdown is then appended straight to that container, without checking which document the input actually belongs to. When the settings tab renders in a separate window, the dropdown lands in the main window's DOM — invisible where the user is typing. This is not specific to your plugin; a number of community plugins inherited the same code.
src/view/settings/suggest.tsline 151main.jsfor v2.1.0.Background on the underlying window-context rules: https://docs.obsidian.md/plugins/guides/pop-out-windows
Fixing it
Preferred — migrate to declarative settings (https://docs.obsidian.md/plugins/guides/migrate-declarative-settings)
PluginSettingTab.getSettingDefinitions()describes settings as data rather than DOM, and it includes built-infileandfoldersuggesters — which is what the hand-rolled class is doing here. Obsidian renders them, so window context stops being your problem entirely.This requires Obsidian 1.13.0. The guide covers two paths: bump
minAppVersionto 1.13.0 and replacedisplay()outright, or keepdisplay()alongsidegetSettingDefinitions()if you want to keep supporting older versions.Secondary — swap in
AbstractInputSuggest(https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)If you would rather not migrate yet, or you are doing a dual-support migration, replace the copied
TextInputSuggestwith the built-inAbstractInputSuggest, which handles window context correctly. It has been available since 1.4.10, so it most likely needs nominAppVersionchange. The declarative settings guide also points to it for custom suggesters beyond the built-in file and folder ones.There is an official lint rule for exactly this:
obsidianmd/prefer-abstract-input-suggest.Workaround for users in the meantime
Disable Settings → Interface → Open settings in new window.
I found this with an automated scan across the community plugin directory and reviewed the results before filing. No rush on this — feel free to close if it is not something you want to take on.