-Added drag functions to lora and embeddings buttons to allow dropping loras into the canvas to create a node or either model type into textareas to insert the model as text ("<lora>" or "embedding"). the drop caret is misleading - click or make a selection first in the taget textarea then drag the button into it to insert at a specific location.
-Move undo-able text insertion to textareas into its own utility function
-Clean up imports
-Change some names for clarity and capitalization linter
-Add SettingsManager to handle Config Settings
-Move some Utilities to SettingsManager
-Added images and videos are observed when they are added to the image list and unobserved when removed
-Add video support in feed and other image lists
-Optimized local image/video loading (for input and output folders and the like)
-Restore last subfolder selection on refresh of folder explorer context if possible
-Add batching code path for image loading (unused for now, needs tuning)
-Add option to drag and drop loras into graph to create lora node automatically
-Images now load in on demand (lazy loading) rather than all at once
-Try/Catch reading of image metadata
-Disable drag/drop for image href, fix issue where dragging image makes redundant toolbar button
-Add UiSettings script to handle adding UI Settings
-Allow for relative paths and absolute paths in nodes that use paths (relative to the ComfyUI folder, so 'JNodes/input' without a leading slash)
-Add util to ascertain if an element is visible in the viewport
-Fix disappearing scrollbar in imageDrawer
-Add undo support for loading text in synced string literal node
-Made tooltip wider to accommodate longer values. Set it back with bUseWideTooltip = false in ImageElements.js. Will eventually make this user-editable from the UI.
-JNodes_PromptEditor has become JNodes_SearchAndReplaceFromFile. Make sure you update your workflows, all two of you using it.
-Added JNodes_SearchAndReplaceFromList and JNodes_SearchAndReplace nodes to complement.
-Added JNodes_SplitAndJoin (originally for removing extra spaces and commas, but can be used to reduce anything you have too many of in a string) and JNodes_TrimAndStrip for removing leading and trailing whitespace.
-Split RemoveCommentedText out of ParseWildcards. Now the comment tokens are user-editable too.
-Added UI option for a custom batch commenting token (was previously hard-coded to '#')
-Removed 'unknown' placeholder text on some nodes
-Added subfolder selection support for SubFolderExplorer contexts. Now subfolders can be chosen in contexts like 'input' and 'output'. You can also choose to display items within a subfolder's subfolders. Make sure you're not trying to display too many items at once or the browser will crash.
-Added backend function to save user-configured model information so the end user can eventually override a lora or embedding's display name, tags, trained words and weight presets. The UI for this is not yet built.
-Added a nullptr check when checking to see if an object is empty.
-Removed setSearchTermsOnElement since it's superfluous. It takes fewer characters to just set it directly.
-Some search terms and some metadata are set now when an imageElement is first created rather than waiting for the image within to actually load. This allows sorting and search to work more properly as contexts are switched, but searching metadata obviously still won't work until the images are loaded. But you can search filename, subfolder and type until then.
-ImageDrawer (image feed, lora picker, image history, etc)
-EditAttention improvements
-Status indicators (percentage in title, favicon, progress bar on floating menu)
-Font control for textareas
-Token count node
-png_info manipulation nodes
-Synced string literals with external text files
-Parameter lists
-Save Video improvements over VHS
-Custom modal to replace lightbox
-Mouse over images to see exif/png_info
-Yet another dynamic prompts implementation with randomization controls
-Yet another Wildcards implementation
-Commenting out prompts support (just add # before each line you want to be ignored or encapsulate specific text on a line with ## on either side "## Commented text ##") built into Wildcards node, will be separated next time
-Prompt Editor (search and replace text in any text, intended for prompts to change certain trigger words, for example an embedding named '3mb3dd1n4' can be changed to 'embedding')
-Selector nodes that can be randomized based on seed (e.g. to select a random checkpoint name)
-Get Temp Directory, Get Output Directory