* Initial setup of settings page v2
* Add security options
* Add layout-aware scanning option
* Fix style
* Set up simple setting bindings
* Convert colors to variables
* Refactor, remove unused
* Set up variables for some size values
* Mark expandable entries with a pointer cursor
* Add scroll top link
* Update sidebar styles
* Update icon button styles
* Fix padding when settings are wrapped
* Update shadow styles
* Use animation timings
* Add support for being able to open the sidebar on small-screen/mobile devices
* Update styles and preview sidebar
* Add ability to expand the preview sidebar
* Scroll to initial target only after advanced setting is set
* Fix rebase issues
* Update z-index of modal
* Use Modal for testing
* Set up modal controller
* Update button styles
* Update modal design
* Update styling of multi-part inputs
* Fix button styles
* Create SettingsDisplayController
* Update scanning inputs
* Use nested option
* Update animation timings
* Update modals to be display:none when not open
* Update included scripts
* Move modal link/input control to SettingsDisplayController
* Simplify event handlers
* Add audio sources options modal
* Allow certain nodes to be selected on click
* Implement top link
* Add environment-specific display styles
* Implement storage info
* Update modal controller
* Remove TODO
* Remove unnecessary <br>
* Add primary dictionary option under result grouping option
* Simplify transform
* Update styles for short inputs
* Add toggleable status footer
* Update modal styles
* Fix more-toggle elements sometimes affecting wrong targets
* Add selector-observer.js reference
* Add support for dynamically-generated more-toggle elements
* Rename result grouping modes and add descriptions
* Update icon button style
* Add a no-more-only class
* Use absolute URLs
* Add kebab-menu icon button
* Update text styles
* Add disabled styles
* Update toggle styles to support default pointer when disabled
* Update modal.js reference
* Disable box shadow for disabled buttons
* Add support for menus, use menus for audio source removal
* Disable pointer events when a modal is closing
* Update the escape key to close menus before closing modals
* Add support for dictionary modals
* Remove debug log
* Remove redundant spinner
* Update nested option visibility
* Add support for import/export/reset
* Update URL
* Reorganize
* Add comments
* Fix toggle highlight not working
* Add radio style
* Fix dictionary separator line
* Add mouse icon
* Add support for an icon button container with input height
* Update profile selects
* Add support for editing profiles and profile conditions
* Enable overflow scrolling for popup menus
* Add support for input suffix buttons
* Style updates
* Implement Anki card controls
* Improve dictionary information
* Punctuation
* Add support for Anki card templates
* Add support for using the tab key
* Add support for custom CSS modal
* Add support for simple scanning inputs
* Simplify
* Don't exit modals/menus when pressing escape while an input is focused
* Add checkbox styles
* Set up advanced scanning inpugs
* Reorganize
* Add outer theme option
* Add controller for nested popups
* Update scannings inputs
* Set up settings for touch/pen inputs
* Add modal for input prevention
* Update label styles
* Options updates
* Update duplicate scope options
* Only show quality when format is JPEG
* Add auto-scaling options
* Update navigation options
* Rearrange options
* Fix icon
* Add group for popup-size
* Update styles for inputs
* Update description
* Update appearance of checkboxes, toggles, and radios
* Add more advanced popup options
* Add debug option
* Add pitch accent display options
* Update input fields
* Add conjugation
* Update guide link
* Update and simplify primary/secondary dictionaries
* Update link
* Un-nest a setting
* Update wordings
* Use consistent styling for lists
* Fix custom CSS modal fade affecting the layout
* Fix z-index of the top link
* Disable word wrap on some text
* Disable highlight color
* Update FAB positioning and sizing
* Update button spacing
* Remove preview frame controller code
* Remove welcome.html
* Update seconds units
* Use all appearance styles
* Add option for anki.checkForDuplicates
* Rearrange options
* Fix redundant margin assignment
* Move scanning.enableOnSearchPage option such that it is not nested
* Organize/update options
* Fix history assignment on the search page
* Use clear instead of assigned
* Simplify definitions assignment
* Organize
* Fix query not being cleared
* Fix media loading
* Fix potential issue with options not being assigned
* Catch error when frameId is null, causing infinite loop
* Fix frontend construction parameters
* Only ignore nodes on non-web pages
* Fix issue where options might not be assigned on nested frontends
* Refactor default TextScanner options
* Add option to enable search only on click
* Simplify restore state assignment
* Update options context passing
* Fix empty title
* Use TextScanner to scan content inside of Display
* Rename ignoreNodes to excludeSelector(s)
* Fix options update incorrectly triggering a re-search
* Fix copy throwing an error on the search page
* Replace _onSearchQueryUpdated with _search
* Use include selector instead of exclude selector
* Pass childrenSupported as a parameter to Frontend/Popup constructors
* Remove setChildrenSupported
* Use event listener instead of function override
* Update options order
* Expand options and use object for clarity
* Fix childrenSupported not being fully propagated
* Refactor context-main.js
* Simplify tags
* Use flex layout
* Use image masks for icons, update styles
* Remove old classes
* Add profile button
* Add support for profile selection
* Add title
* Swap the options and search link order
* Fix title
* Update translator to flag redundant tags instead of remove
* Update how compact tags are shown in the popup
* Pass compactTags option to note builder
* Update options templates
* Add options upgrade
* Add options upgrade test
* Update event order
* Update inputs
* Add type and cause to input info
* Update input info args
* Simplify arguments
* Update argument name
* Change order
* Use same selectors
* Use consistent stylesheet declaration
* Fix query parser not being cleared
* Set property upon load
* Don't focus for Enter key press
* Update search page styles
* Update indent and nodes
* Support dark style
* Add missing var
* Add options.global.showPopupPreview option
* Add preview visibility control using a checkbox
* Add attribute on page load
* Disable animation until page is loaded
* Remove unused function
* Update expresionMulti detection
* Simplify kanji early escape
* Simplify frequency/pitch data creation
* Update implementation of _buildTermMeta
* Update how pitch accents sources are collected
* Remove old _buildTermMeta
* Fix default options not having the correct versions
* Move schema validation
* Remove legacy version number
* Add tests for OptionsUtil.getDefault()
* Remove unused getValidValueOrDefault
* Check if element exists
* Add delete function
* Add support for deleting via popup menu
* Update how count visibility is updated
* Update dictionary deletion progress updates
* Update storage stats after dictionary deletion
* Add helper function _getElementRelativeToAncestor
* Move helper functions
* Add setVisibility transform
* Add support for data-transform attribute shorthand
* Add support for using the document element as the ancestor
* Remove redundant assignment of select value
* Update TTS preparation
* Don't hide options
* Improve voice sorting
* Update event handler
* Apply options to all selects targeting audio.textToSpeechVoice
* Update selector
* Use IDs
* Move test text to a hidden text input
* Rename TemplateHandler to HtmlTemplateCollection
* Rename _templateHandler to _templates
* Allow creation from both string and element
* Simplify setup of templates, don't throw errors on invalid ID
* Simplify variable name
* Add dictionaryNames array
* Update how the dictionary field is assigned
* Use "dictionary" instead of "title" for consistency
* Remove redundant dictionary name
* Use _expandTags to create pitch accent tags
* Add abstraction: _getDefinitionPrimaryExpressionAndReading
* Reuse existing definitions in a sequence
* Revert change to related definition source/rawSource/sourceTerm
* Update _getDefinitionPrimaryExpressionAndReading to return best match
* Group reduction functions together
* Group simple helpers
* Add label comments
* Move core _findTerms functions to top
* Move _getSecondarySearchDictionaryMap and _getDictionaryPriority
* Move tag helpers
* Move _getTextOptionEntryVariants
* Move functions up
* Move functions up
* Update label comments
* Add sourceTerm field to 'term' and 'termGrouped' definitions
* Fix comparison of expressions which are always the same
* Rename/restructure term info map
* Add source term
* Add sourceTerm to expressions array
* Reuse furiganaSegments
* Add helper function _createExpressionDetailsListFromTermInfoMap
* Add expressions array to termMergedByGlossary
* Add expressions to definition types 'term' and 'termGrouped'
* Rename expressionDetails* to termDetails*
* Correct the source/rawSource/sourceTerm for related sequenced definitions
* Simplify structure of sequencedDefinitions
* Remove TODO
* Refactor internal options for findTerms to not use the settings object
* Move findTerms/findKanji options creation
* Deconstruct used options values to variables before any await calls
* Rename findTermsOptions to just options
* Add documentation comments
* Add type information about definitions
* Add helper function _getSecondarySearchDictionaryMap
* Use spreads instead of concat
* Create helper function for assigning disambiguation info
* Add _getTermTagsScoreSum helper
* Rename variables
* Move assignment of definition details
* Convert databaseDefinitions to standard definitions
* Move creation of definitions
* Always pass definitionsByGlossary directly to _mergeByGlossary
* Refactor how used definitions are tracked
* Change _mergeByGlossary parameters
* Simplify _mergeByGlossary
* Generate definition structure at the end of the function
* Add reusable function to clone a tag
* Restructure merged sub-definition creation
* Move setup of totalExpressionSet/totalReadingSet
* Track all definitions with matching glossary
* Move creation of definitionTags
* Update score calculation for multiple definitions
* Disambiguate function name
* Rename variables
* Add helper function _createMergedGlossaryTermDefinition
* Remove rarely used check for secondary search results
Unclear what the purpose was since it was almost never used
* Update data structure
* Rename function/variable
* Add helper functions _createMergedTermDefinition
* Assign expressionDetails to variable
* Add rawSource to grouped definitions
* Use shared function for creating unused definition entries
* Add helper function _createMapKey
* Refactor _createExpressionDetails
* Change argument order
* Add _getTagNamesWithCategory helper
* Optimize _compressDefinitionTags
* Add _createGroupedTermDefinition helper
* Add type information
* Use consistent order for term definition fields, add comments for omitted fields
* Remove unused index field
* Add helper function _createKanjiDefinition
* Update types
* Add frequencies/pitches arrays
* Update terms array setup
* Simplify for loop
* Remove redundant property assignment
* Simplify how deinflections with no definitions are ignored
* Ensure duplicates are removed
* Rename variable
* Add comments about duplicate data
* Refactor variable/parameter names
* Move functions
* Rename functions
* Rename variable
* Add dictionaryPriority field
* Simplify priority comparison
* Rename argument
* Optimize comparison function when dictionary priority is not needed
* Add length check
* Remove unused parameter
* Rename variables/parameters
* Rename dictionaries to enabledDictionaryMap
* Store compactTags/mainDictionary options to variables
* Refactor _getSearchableText
* Simplify object structure of deinflections
* Modify existing array when removing duplicates
* Update _sortDefinitions to not return a value
* Use explicit argument value
* Use a Collator for string comparisons
* Simplify order comparison
* Improve tag creation and sanitization
* Switch .map to a for loop, skip null meta
* Add _createKanjiStat
* Move _sortDefinitions definition
* Fix kanji stat sorting
* Remove return value from _sortTags
* Add _sortKanji
* Add fast exits for sorting
* Add _sortDefinitionsByIndex
* Combine sort function
* Improve creation of kanji definition data
* Use "databaseDefinitions" instead of "definitions" to disambiguate
* Simplify
* Simplify further
* Simplify max length calculation
* More destructuring
* Use databaseDefinitions variable name
* Move _mergeBySequence body into _getSequencedDefinitions
* Use databaseDefinitions field name
* Move maxLength calculation
* Use shared _createTermDefinitionFromDatabaseDefinition
* Simplify map
* Move definition sorts for better consistency and less redundancy
* Move _createExpression function
* Update setup of sequenced definitions
* Simplify for loop
* Add scanOnTouchMove/preventTouchScrolling scanning input options
* Add settings controls
* Support scanOnTouchMove in TextScanner
* Support preventTouchScrolling in TextScanner
* Use _sendMessageTab
* Move _sendMessageAllTabs next to _sendMessageTab
* Rename function
* Add and use _sendMessageTabIgnoreResponse
* Add and use _sendMessageIgnoreResponse
* Always include params
* Update function consistency
* Move loadImageBase64 into DictionaryImporter
* Convert mediaUtility to a class
* Add getFileExtensionFromImageMediaType to MediaUtility
* Use MediaUtility instead of _getImageExtensionFromMediaType
* Use MediaUtility in ClipboardReader to validate images before reading
* Create ClipboardReader class
* Use ClipboardReader in Backend
* Update ClipboardMonitor to use ClipboardReader
* Replace _onApiClipboardImageGet call
* Assign clipboard reader browser
* Add options for searchTerms and searchKanji
* Add settings HTML
* Add options to TextScanner
* Update _search/_findDefinitions to include searchTerms/searchKanji args
* Update _searchAtFromMouseMove args
* Change argument structure for _searchAt
* Use scanning options for searchTerms and searchKanji