* Improve and simplify code handling CORS
* Don't execute request when origin not allowed
Fix vulnerability
* Remove webCorsOrigin legacy option
It's confusing (and potentially insecure as removing webCorsOrigin in configuration would still set it to localhost)
* Allow 127.0.0.1 and browser extension if localhost allowed
* Fix error message in updateNoteFields method
* Fix error handling in cardsInfo, notesInfo methods
* Add more tests for updateNoteFields, notesInfo
* Fix error handling in several methods
Also fixed obvious bugs in replaceTags and replaceTagsInAllNotes
methods.
* Add more tests for cards methods
* Add more tests for notes methods
* Update documentation on cards methods
* added findAndReplaceInModels api call
* added documentation for findAndReplaceInModels
* added findAndReplaceInModels api call
* updatd findAndReplaceInModels function
* added unit test for findAndReplaceInModels in models
* updated findAndReplaceInModels
* added unit test for findAndReplaceInModels
* removed 'all_models' in findAndReplaceInModels
Bug: if sync is enabled for profile, then we have alot of recursive
calls to loadProfile method because main window is still active until
sync is ended. And this freezes Anki app.
* clearUnusedTags and replaceTags are added
* added clearUnusedTags and replaceTags
* added clearUnusedTags and replaceTags
* removed whitespaces and indentations
* removed white spaces and indentations
* added removeEmptyNotes
* clearUnusedTags and replaceTags are added
* added clearUnusedTags and replaceTags
* added clearUnusedTags and replaceTags
* removed whitespaces and indentations
* removed white spaces and indentations
* Server no longer hangs on client disconnects
* Changed timeout and am now catching errors explicitly
Co-authored-by: KanjiEater <kanjieat3r@gmail.com>
- Sound and video share same [sound:..] tag. See 0c08ff5317/pylib/anki/sound.py (L33)
- Tested and verified picture is added and video is added when `addNote` API.
* Don't call note.dupeOrEmpty when mode is 'deck'
* Update return type to be consistent with latest note.duplicateOrEmpty
* Fix main deck ID not always being included
* Add endpoint to retrieve collection stats report
* Create separate test for statistics
* Add test for collectionStats
* Fixed typo
* Change endpoint name to use a verb
* Change name to getCollectionStatsHTML
* Allow stats for whole collection
* Allow stats for whole collection
* Add endpoint to retrieve collection stats report
* Create separate test for statistics
* Add test for collectionStats
* Fixed typo
* Change endpoint name to use a verb
* Change name to getCollectionStatsHTML