This fixes an issue where a long list of highlights wouldn't show
the confirmation modal properly if scrolled because the modal
would be in the scrolled content.
highlightLocations can't be a prop or they wont be updated
properly when highlights are created and merged.
This fixes issues with merging highlights. It changes how we
scroll to an initial highlight in the case of deep links too.
The main change here is using Dialog instead of dropdown. The
dialog uses a fixed position, so when the underlying document
dimensions change based on a font change, the dialog will still
be positioned properly.
This moves all scrolling from child divs to the main window. This
improves our keyboard handling, as focus will be given to the
body element, not the child div when navigating by keyboard
commands, so arrow keys and space bar will work after navigating
to the reader with the keyboard commands.
Aligning the components in CSS didn't work very
well, so this uses exported versions of the design
with the `A` icon and `+/-` symbol in a single image.
* Add state and taskName in elastic page mappings
* Add state and taskName in elastic page interface
* Create page with PROCESSING state before scrapping
* Update createArticleRequest API
* Fix tests
* Add default state for pages
* Update createArticle API
* Update save page
* Update save file
* Update saving item description
* Show unable to parse content for failed page
* Fix date parsing
* Search for not failed pages
* Fix tests
* Add test for saveUrl
* Update get article saving request api
* Update get article test
* Add test for articleSavingRequest API
* Add test for failure
* Return new page id if clientRequestId empty
* Update clientRequestId in savePage
* Update clientRequestId in saveFile
* Replace article with slug in articleSavingRequest
* Add slug in articleSavingRequest response
* Depreciate article
* Use slug in web
* Remove article and highlight fragments
* Query article.slug on Prod
* Show unable to parse description for failed page
* Fix a bug having duplicate pages when saving the same url multiple times
* Add state in response
* Rename variables in removeArticle API
* Rename state
* Add state in response in web
* Make state an enum
* Open temporary page by link id
* Use an empty reader view as the background for loading pages
* Progressively load the article page as content is loaded
* Add includePending flag in getArticles API
* Set includePending = true in web
* Add elastic update mappings in migration script
* Add elastic mappings in docker image
* Move index_settings.json to migrate package
* Remove elastic index creation in api
* Move elastic migrations to a separate directory
* Remove index_settings from api docker image
Co-authored-by: Jackson Harper <jacksonh@gmail.com>