commits
Change scanning.scanResolution for agglutinative languages
* [it] Support removing apostrophed words in Italian
* [it] Add ’ as an apostrophe variant
* make processor functions return an array of variants
* tighten processed variants limit
* lint
* codex comment 2
* lint
* Add Belarusian language descriptor
Signed-off-by: Olga <137053456+ImenaOphelia@users.noreply.github.com>
* Add 'be' language descriptor with preprocessors
Signed-off-by: Olga <137053456+ImenaOphelia@users.noreply.github.com>
---------
Signed-off-by: Olga <137053456+ImenaOphelia@users.noreply.github.com>
* Document extra level for suffix
* Fix {pitch-accent-graphs-jj} not handling suffix properly
* Test for suffix pitch definition
* Disable anki add button for 2.5s after click
* Re-enable button if there are errors
Signed-off-by: v2lmmj04 <122140891+v2lmmj04@users.noreply.github.com>
Signed-off-by: v2lmmj04 <122140891+v2lmmj04@users.noreply.github.com>
* Fix ordering of dictionaries sidebar anchor link
* Fix transparent25 having 50% transparency
* Put advanced line next to advanced settings category
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v6)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Disallow unlabeled string results
* Don't shift in extractGlossaryStructuredContentRecursive to avoid mutation
* support tokenization concurrently
* return headwords when tokenizing
* use LRU cache for tokenize
* fix refactor bug
* maintain separation between parse results
* add array index to results
* Default popupNestingMaxDepth to 10
* Update test data
* add option to group by term
* refactor to deduplicate
* sort headwords
* add tests
* Test sourcesZipFilePath option on webext-buildtools-firefox-sign-xpi-action
* Fix name problem
* Update version
* Bump to latest webext-buildtools-firefox-sign-xpi-action
* Fix glossary-plain and glossary-plain-no-dictionary not working when resultOutputMode (Result grouping mode) == split (No grouping)
* Write tests
* Add support for canAddNotesWithDetail with fallback if not supported
* Add changes to playwright
* Remove redundant connection check
* Make sure to keep original logic when not checking duplicates
* Use ctrl+u to clear text in the search page
Signed-off-by: Miguel <12945959+9mdv@users.noreply.github.com>
* Fix _onClear type
---------
Signed-off-by: Miguel <12945959+9mdv@users.noreply.github.com>
Co-authored-by: kuuuube <hexagonisalie@gmail.com>
* Parallelize duplicate checking api calls
Api calls don't depend on one another so they should be done in parallel
* Remove dead cannotAddArray logic
This array is initialized with 0 but never filled so it can be safetly
removed
* Avoid api call when duplicateNotes is empty
* Use CSSOM as fallback for sanitization
* Allow data-permissions-setting to trigger transforms
* Add frontend for yomitanApiAllowCssSanitizationBypass
* Add yomitanApiAllowCssSanitizationBypass option
* Allow css to be passed through without sanitization
* Move newline stripping outside sanitization method
* Log css when sanitization is bypassed
* Only show sanitization bypass for firefox
* Fix typo
* Improve sanitization bypass description
Bumps the minor group with 8 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action) | `2.3.0` | `2.6.1` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.28.10` | `3.30.5` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2.2.1` | `2.3.3` |
| [step-security/harden-runner](https://github.com/step-security/harden-runner) | `2.11.0` | `2.13.1` |
| [actions/dependency-review-action](https://github.com/actions/dependency-review-action) | `4.5.0` | `4.8.0` |
| [awalsh128/cache-apt-pkgs-action](https://github.com/awalsh128/cache-apt-pkgs-action) | `1.4.3` | `1.5.3` |
| [robinraju/release-downloader](https://github.com/robinraju/release-downloader) | `1.11` | `1.12` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.1` | `2.4.3` |
Updates `lycheeverse/lychee-action` from 2.3.0 to 2.6.1
- [Release notes](https://github.com/lycheeverse/lychee-action/releases)
- [Commits](https://github.com/lycheeverse/lychee-action/compare/v2.3.0...v2.6.1)
Updates `github/codeql-action` from 3.28.10 to 3.30.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.28.10...v3.30.5)
Updates `softprops/action-gh-release` from 2.2.1 to 2.3.3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda...6cbd405e2c4e67a21c47fa9e383d020e4e28b836)
Updates `step-security/harden-runner` from 2.11.0 to 2.13.1
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](https://github.com/step-security/harden-runner/compare/4d991eb9b905ef189e4c376166672c3f2f230481...f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a)
Updates `actions/dependency-review-action` from 4.5.0 to 4.8.0
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/3b139cfc5fae8b618d3eae3675e383bb1769c019...56339e523c0409420f6c2c9a2f4292bbb3c07dd3)
Updates `awalsh128/cache-apt-pkgs-action` from 1.4.3 to 1.5.3
- [Release notes](https://github.com/awalsh128/cache-apt-pkgs-action/releases)
- [Commits](https://github.com/awalsh128/cache-apt-pkgs-action/compare/5902b33ae29014e6ca012c5d8025d4346556bd40...2c09a5e66da6c8016428a2172bd76e5e4f14bb17)
Updates `robinraju/release-downloader` from 1.11 to 1.12
- [Release notes](https://github.com/robinraju/release-downloader/releases)
- [Commits](https://github.com/robinraju/release-downloader/compare/a96f54c1b5f5e09e47d9504526e96febd949d4c2...daf26c55d821e836577a15f77d86ddc078948b05)
Updates `ossf/scorecard-action` from 2.4.1 to 2.4.3
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/f49aabe0b5af0936a0987cfb85d86b75731b0186...4eaacf0543bb3f2c246792bd56e8cdeffafb205a)
---
updated-dependencies:
- dependency-name: lycheeverse/lychee-action
dependency-version: 2.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: github/codeql-action
dependency-version: 3.30.5
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: softprops/action-gh-release
dependency-version: 2.3.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: step-security/harden-runner
dependency-version: 2.13.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: actions/dependency-review-action
dependency-version: 4.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: awalsh128/cache-apt-pkgs-action
dependency-version: 1.5.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: robinraju/release-downloader
dependency-version: '1.12'
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: ossf/scorecard-action
dependency-version: 2.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Mention {language} in help for custom url
* Mention replacements in custom url json help
* [el] Add processor to support double acute-accented words
* [el] Simplify greek processor logic, add minor tests
* [el] Add suggested implementation
* Make hide popup on cursor exit delay apply to children popups
* Fix casing in function name/clarify comment
* Move stopHideDelayed call to showContent for readability
* Fixing the logic in isNonNounVerbOrAdjective
* Replacing tabs with spaces
* add paginated scrolling
* clean up variable naming
* remove pointless brackets
* rename option, expose magic numbers as user options
* change swipe threshold styling
* fix capitalization
* nested popup distinguished from screen, mousing back to a lower-hierarchy node clears all higher ones
* remove debugging logs
* Remove console logs
* Fix test errors
* Only hide child popups when the option is selected
---------
Co-authored-by: Jack Mitchell <jackmitc@usc.edu>
* Update templates-modals.html
* Update Flags type input description in HTML
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Clarify Flags type usage with clipboard input
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Adds sync option to Anki section in settings allowing you to sync Anki upon adding a card
* Make anki force sync in advanced settings, adjust test to allow forceSync method
* Add warning to Force Sync description
* Help make anki sync failure not impact yomitan function
* Move forceSync settings to more appropriate place, remove incorrect class
---------
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Treat curly and straight apostrophes as equal when ignoreCase is enabled
* Handle both possible apostrophe inputs
* Add tokenize API endpoint to native messaging interface
- Add new 'tokenize' action to YomitanApi for text segmentation
- Uses internal parseText with fixed scanLength of 32 characters
- Returns full parsing results with readings and dictionary info
- Useful for external applications needing Japanese text tokenization
* Make scanLength configurable in tokenize endpoint
- Add scanLength as optional parameter (defaults to 10)
- Allows callers to customize tokenization granularity
- Shorter lengths for faster processing, longer for compound words
* add decriptive errors, remove default
* Disallow card format index to be -1
* Fix error on trying to find invalid icon
* Prevent deleting all card formats
* Add custom target tags functionality
* fix blank line for linter
---------
Signed-off-by: Ryan Gisleson <rgisleson@gmail.com>
* Improve mouse input action prevention
As pointed out in https://github.com/yomidevs/yomitan/issues/2152, currently a middle mouse click still opens links in a new tab, and mouse button 4 and 5 are unusable since they trigger history back/forward.
This blocks the new tab action if the appropriate toggles are selected and adds a new set of toggles for button 4/5. I tested all of this on Chrome.
* Fix conflict with existing popup history feature
* Make glossary, glossary-brief, and glossary-no-dictionary handlebars more consistent
* Update tests
* Test memory reduction with immediate bulkadd and dump array
* bulkAdd each term file
* Fix counts
* Put comments in correct spots
* Split out read function into single and multi
* Fix order of things
* Scope all import types to individual blocks
* Fix formatting
* Fix term count
* Revert _readFileSequence split
* Fix progress steps
* Resolve media requirements and bulkAdd media just before bulkAdd on termList
* Call progress after media add in termList handling
* Import all files one by one
* Disallow setting of progressData.index in _readFileSequence
* Show filecount on `Validating and importing data` to help let users know Yomitan is not broken when importing large single file dicts
* Resolve both already added requirements and not added requirements
* Fix meta counts not being set correctly
* Move requirements inside termFiles loop
* Show progress during bulkAdd
* Add check for import success
* Add title to import error button
* Add import success to dict details listing and dont show other integrity buttons if not import success
* Add import success attribute to tests
* Add back separate validation step
* Add bulkUpdate database method using `put` instead of `add`
* Add findPrimaryKey to database methods and findDictionaryPrimaryKey to dictionary-database methods
* Type DatabaseUpdateItem
* Write directly to counts
* Add dictionary summary before writing to database and update it after success
* Fix type import path
* Use addWithResult instead of finding the key afterwards to avoid race condition if import is too fast
* Remove primary key finding methods
* Make comments more accurate
* Rename ii to entryCount
* Update templates-modals.html
* Update Flags type input description in HTML
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Clarify Flags type usage with clipboard input
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Fix white space
---------
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Initial design
* Move to templates modal file
* Add global dataTransmissionConsentShown setting and DataTransmissionConsentController
* Only show for firefox and firefox mobile
* Update Data Transmission Consent modal text
Co-Authored-By: Darius Jahandarie <djahandarie@gmail.com>
* Use space evenly to make column layout not terrible
* Disallow exiting modal by clicking off or pressing esc
---------
Co-authored-by: Darius Jahandarie <djahandarie@gmail.com>
Change scanning.scanResolution for agglutinative languages
* Add Belarusian language descriptor
Signed-off-by: Olga <137053456+ImenaOphelia@users.noreply.github.com>
* Add 'be' language descriptor with preprocessors
Signed-off-by: Olga <137053456+ImenaOphelia@users.noreply.github.com>
---------
Signed-off-by: Olga <137053456+ImenaOphelia@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v6)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Use CSSOM as fallback for sanitization
* Allow data-permissions-setting to trigger transforms
* Add frontend for yomitanApiAllowCssSanitizationBypass
* Add yomitanApiAllowCssSanitizationBypass option
* Allow css to be passed through without sanitization
* Move newline stripping outside sanitization method
* Log css when sanitization is bypassed
* Only show sanitization bypass for firefox
* Fix typo
* Improve sanitization bypass description
Bumps the minor group with 8 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action) | `2.3.0` | `2.6.1` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.28.10` | `3.30.5` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2.2.1` | `2.3.3` |
| [step-security/harden-runner](https://github.com/step-security/harden-runner) | `2.11.0` | `2.13.1` |
| [actions/dependency-review-action](https://github.com/actions/dependency-review-action) | `4.5.0` | `4.8.0` |
| [awalsh128/cache-apt-pkgs-action](https://github.com/awalsh128/cache-apt-pkgs-action) | `1.4.3` | `1.5.3` |
| [robinraju/release-downloader](https://github.com/robinraju/release-downloader) | `1.11` | `1.12` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.1` | `2.4.3` |
Updates `lycheeverse/lychee-action` from 2.3.0 to 2.6.1
- [Release notes](https://github.com/lycheeverse/lychee-action/releases)
- [Commits](https://github.com/lycheeverse/lychee-action/compare/v2.3.0...v2.6.1)
Updates `github/codeql-action` from 3.28.10 to 3.30.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.28.10...v3.30.5)
Updates `softprops/action-gh-release` from 2.2.1 to 2.3.3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda...6cbd405e2c4e67a21c47fa9e383d020e4e28b836)
Updates `step-security/harden-runner` from 2.11.0 to 2.13.1
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](https://github.com/step-security/harden-runner/compare/4d991eb9b905ef189e4c376166672c3f2f230481...f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a)
Updates `actions/dependency-review-action` from 4.5.0 to 4.8.0
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/3b139cfc5fae8b618d3eae3675e383bb1769c019...56339e523c0409420f6c2c9a2f4292bbb3c07dd3)
Updates `awalsh128/cache-apt-pkgs-action` from 1.4.3 to 1.5.3
- [Release notes](https://github.com/awalsh128/cache-apt-pkgs-action/releases)
- [Commits](https://github.com/awalsh128/cache-apt-pkgs-action/compare/5902b33ae29014e6ca012c5d8025d4346556bd40...2c09a5e66da6c8016428a2172bd76e5e4f14bb17)
Updates `robinraju/release-downloader` from 1.11 to 1.12
- [Release notes](https://github.com/robinraju/release-downloader/releases)
- [Commits](https://github.com/robinraju/release-downloader/compare/a96f54c1b5f5e09e47d9504526e96febd949d4c2...daf26c55d821e836577a15f77d86ddc078948b05)
Updates `ossf/scorecard-action` from 2.4.1 to 2.4.3
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/f49aabe0b5af0936a0987cfb85d86b75731b0186...4eaacf0543bb3f2c246792bd56e8cdeffafb205a)
---
updated-dependencies:
- dependency-name: lycheeverse/lychee-action
dependency-version: 2.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: github/codeql-action
dependency-version: 3.30.5
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: softprops/action-gh-release
dependency-version: 2.3.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: step-security/harden-runner
dependency-version: 2.13.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: actions/dependency-review-action
dependency-version: 4.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: awalsh128/cache-apt-pkgs-action
dependency-version: 1.5.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: robinraju/release-downloader
dependency-version: '1.12'
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: ossf/scorecard-action
dependency-version: 2.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update templates-modals.html
* Update Flags type input description in HTML
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Clarify Flags type usage with clipboard input
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Adds sync option to Anki section in settings allowing you to sync Anki upon adding a card
* Make anki force sync in advanced settings, adjust test to allow forceSync method
* Add warning to Force Sync description
* Help make anki sync failure not impact yomitan function
* Move forceSync settings to more appropriate place, remove incorrect class
---------
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Add tokenize API endpoint to native messaging interface
- Add new 'tokenize' action to YomitanApi for text segmentation
- Uses internal parseText with fixed scanLength of 32 characters
- Returns full parsing results with readings and dictionary info
- Useful for external applications needing Japanese text tokenization
* Make scanLength configurable in tokenize endpoint
- Add scanLength as optional parameter (defaults to 10)
- Allows callers to customize tokenization granularity
- Shorter lengths for faster processing, longer for compound words
* add decriptive errors, remove default
* Improve mouse input action prevention
As pointed out in https://github.com/yomidevs/yomitan/issues/2152, currently a middle mouse click still opens links in a new tab, and mouse button 4 and 5 are unusable since they trigger history back/forward.
This blocks the new tab action if the appropriate toggles are selected and adds a new set of toggles for button 4/5. I tested all of this on Chrome.
* Fix conflict with existing popup history feature
* Test memory reduction with immediate bulkadd and dump array
* bulkAdd each term file
* Fix counts
* Put comments in correct spots
* Split out read function into single and multi
* Fix order of things
* Scope all import types to individual blocks
* Fix formatting
* Fix term count
* Revert _readFileSequence split
* Fix progress steps
* Resolve media requirements and bulkAdd media just before bulkAdd on termList
* Call progress after media add in termList handling
* Import all files one by one
* Disallow setting of progressData.index in _readFileSequence
* Show filecount on `Validating and importing data` to help let users know Yomitan is not broken when importing large single file dicts
* Resolve both already added requirements and not added requirements
* Fix meta counts not being set correctly
* Move requirements inside termFiles loop
* Show progress during bulkAdd
* Add check for import success
* Add title to import error button
* Add import success to dict details listing and dont show other integrity buttons if not import success
* Add import success attribute to tests
* Add back separate validation step
* Add bulkUpdate database method using `put` instead of `add`
* Add findPrimaryKey to database methods and findDictionaryPrimaryKey to dictionary-database methods
* Type DatabaseUpdateItem
* Write directly to counts
* Add dictionary summary before writing to database and update it after success
* Fix type import path
* Use addWithResult instead of finding the key afterwards to avoid race condition if import is too fast
* Remove primary key finding methods
* Make comments more accurate
* Rename ii to entryCount
* Update templates-modals.html
* Update Flags type input description in HTML
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Clarify Flags type usage with clipboard input
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Fix white space
---------
Signed-off-by: Brian <79370810+hearjest@users.noreply.github.com>
* Initial design
* Move to templates modal file
* Add global dataTransmissionConsentShown setting and DataTransmissionConsentController
* Only show for firefox and firefox mobile
* Update Data Transmission Consent modal text
Co-Authored-By: Darius Jahandarie <djahandarie@gmail.com>
* Use space evenly to make column layout not terrible
* Disallow exiting modal by clicking off or pressing esc
---------
Co-authored-by: Darius Jahandarie <djahandarie@gmail.com>